lino 25.7.0__py3-none-any.whl → 25.7.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
lino/__init__.py CHANGED
@@ -31,7 +31,7 @@ from django import VERSION
31
31
  from django.apps import AppConfig
32
32
  from django.conf import settings
33
33
  import warnings
34
- __version__ = '25.7.0'
34
+ __version__ = '25.7.1'
35
35
 
36
36
  # import setuptools # avoid UserWarning "Distutils was imported before Setuptools"?
37
37
 
lino/api/dd.py CHANGED
@@ -62,6 +62,7 @@ from lino.core.actions import ShowSlaveTable
62
62
  from lino.core.actions import ShowTable, ShowDetail
63
63
  from lino.core.actions import ShowInsert, DeleteSelected
64
64
  from lino.core.actions import SubmitDetail, SubmitInsert
65
+ from lino.core.actions import ShowEditor
65
66
 
66
67
  from lino.core.choicelists import ChoiceList, Choice
67
68
  from lino.core.workflows import State, Workflow, ChangeStateAction
lino/core/actions.py CHANGED
@@ -960,6 +960,27 @@ class DeleteSelected(MultipleRowAction):
960
960
  return 1
961
961
 
962
962
 
963
+ class ShowEditor(Action):
964
+ select_rows = True
965
+ button_text = "⏏"
966
+ show_in_toolbar = False
967
+
968
+ def __init__(self, fieldname, *args, **kwargs):
969
+ self.fieldname = fieldname
970
+ super().__init__(*args, **kwargs)
971
+
972
+ def run_from_ui(self, ar, **kwargs):
973
+ kw = dict()
974
+ if ar.master_instance:
975
+ kw.update({
976
+ constants.URL_PARAM_MASTER_PK: ar.master_instance.pk,
977
+ constants.URL_PARAM_MASTER_TYPE: settings.SITE.models.gfks.ContentType.objects.get_for_model(
978
+ ar.master_instance.__class__).pk
979
+ })
980
+ ar.set_response(goto_url=ar.renderer.front_end.build_plain_url(
981
+ "api", *ar.actor.actor_id.split("."), str(ar.selected_rows[0].pk), self.fieldname, **kw))
982
+
983
+
963
984
  # Some actions are described by a single action instance used by most actors:
964
985
 
965
986
  SHOW_INSERT = ShowInsert()
lino/core/actors.py CHANGED
@@ -1960,8 +1960,9 @@ class Actor(Parametrizable, Permittable, metaclass=ActorMetaClass):
1960
1960
  is_on_main_actor=False)
1961
1961
  grp = Grouper(sar)
1962
1962
  html_text = grp.begin()
1963
+ limit = ar.limit or cls.preview_limit
1963
1964
  for i, obj in enumerate(sar.data_iterator):
1964
- if i == cls.preview_limit:
1965
+ if i == limit:
1965
1966
  break
1966
1967
  par = sar.row_as_paragraph(obj) # 20230207
1967
1968
  # assert_safe(par) # temporary 20240506
@@ -1980,10 +1981,10 @@ class Actor(Parametrizable, Permittable, metaclass=ActorMetaClass):
1980
1981
  html_text += grp.after_row(obj)
1981
1982
  html_text += grp.stop()
1982
1983
 
1983
- # 20250713
1984
- if len(toolbar := sar.plain_toolbar_buttons()):
1985
- p = mark_safe(btn_sep.join([tostring(b) for b in toolbar]))
1986
- html_text = p + html_text
1984
+ # 20250713
1985
+ # if len(toolbar := sar.plain_toolbar_buttons()):
1986
+ # p = mark_safe(btn_sep.join([tostring(b) for b in toolbar]))
1987
+ # html_text = p + html_text
1987
1988
 
1988
1989
  # if cls.editable and cls.insert_action is not None:
1989
1990
  # ir = cls.insert_action.request_from(sar)
@@ -2000,8 +2001,9 @@ class Actor(Parametrizable, Permittable, metaclass=ActorMetaClass):
2000
2001
  is_on_main_actor=False)
2001
2002
  tiles = SAFE_EMPTY
2002
2003
  prev = None
2004
+ limit = ar.limit or cls.preview_limit
2003
2005
  for i, obj in enumerate(sar.data_iterator):
2004
- if i == cls.preview_limit:
2006
+ if i == limit:
2005
2007
  break
2006
2008
  tiles += obj.as_tile(sar, prev)
2007
2009
  prev = obj
@@ -2013,8 +2015,9 @@ class Actor(Parametrizable, Permittable, metaclass=ActorMetaClass):
2013
2015
  sar = cls.create_request(parent=ar, master_instance=obj,
2014
2016
  is_on_main_actor=False)
2015
2017
  html = SAFE_EMPTY
2018
+ limit = ar.limit or cls.preview_limit
2016
2019
  for i, obj in enumerate(sar.data_iterator):
2017
- if i == cls.preview_limit:
2020
+ if i == limit:
2018
2021
  break
2019
2022
  s = obj.as_story_item(sar)
2020
2023
  # assert_safe(s) # temporary 20240506
@@ -2080,14 +2083,16 @@ class Actor(Parametrizable, Permittable, metaclass=ActorMetaClass):
2080
2083
  # assert isinstance(p, str)
2081
2084
  # assert_safe(p) # temporary 20240506
2082
2085
  # assert not "<" in p
2083
- toolbar = ar.plain_toolbar_buttons()
2084
- if len(toolbar):
2085
- # p += "<br/>"
2086
- # p += " | "
2087
- if p:
2088
- p += cls.summary_sep
2089
- for b in toolbar:
2090
- p += tostring(b) + btn_sep
2086
+ # No toolbar needed after 20250714 #6202 ("Tickets to work" has its
2087
+ # insert button (+) duplicated in the dashboard):
2088
+ # toolbar = ar.plain_toolbar_buttons()
2089
+ # if len(toolbar):
2090
+ # # p += "<br/>"
2091
+ # # p += " | "
2092
+ # if p:
2093
+ # p += cls.summary_sep
2094
+ # for b in toolbar:
2095
+ # p += tostring(b) + btn_sep
2091
2096
  return p
2092
2097
 
2093
2098
  @classmethod
lino/core/dashboard.py CHANGED
@@ -67,7 +67,7 @@ class DashboardItem(Permittable):
67
67
  if self.header_level is not None:
68
68
  buttons = sar.plain_toolbar_buttons()
69
69
  # 20250713 Maybe add the ⏏ button already in plain_toolbar_buttons()
70
- buttons.append(sar.open_in_own_window_button())
70
+ # buttons.append(sar.open_in_own_window_button())
71
71
  elems = []
72
72
  for b in buttons:
73
73
  elems.append(b)
@@ -93,7 +93,7 @@ class DashboardItem(Permittable):
93
93
  # yield tostring(e)
94
94
  else:
95
95
  raise Exception("20240908 Cannot render {}".format(sar))
96
- yield "Cannot render {}".format(sar)
96
+ # yield "Cannot render {}".format(sar)
97
97
  yield mark_safe("</div>")
98
98
 
99
99
  def serialize(self):
@@ -156,6 +156,7 @@ class ActorItem(DashboardItem):
156
156
  # sar = ar.spawn_request(actor=T, limit=T.preview_limit)
157
157
  # raise Exception("20230331 {}".format(ar.subst_user))
158
158
 
159
+ # print("20250714 render()", sar.limit)
159
160
  # print("20210112 render()", ar, sar, ar.get_user(), sar.get_user())
160
161
 
161
162
  for i in self.render_request(ar, sar, **kwargs):
lino/core/dbtables.py CHANGED
@@ -72,7 +72,7 @@ def add_gridfilters(qs, gridfilters):
72
72
  flttype = flt["type"]
73
73
  kw = {}
74
74
  if flttype == "string":
75
- if isinstance(field, models.CharField):
75
+ if isinstance(field, (models.CharField, models.FileField)):
76
76
  kw[field.name + "__icontains"] = flt["value"]
77
77
  q = q & models.Q(**kw)
78
78
  elif isinstance(field, models.ForeignKey):
lino/core/renderer.py CHANGED
@@ -19,6 +19,7 @@ from django.utils.translation import gettext as _
19
19
  from django.utils.translation import get_language
20
20
 
21
21
  from etgen.html2rst import RstTable
22
+ from etgen.utils import join_elems
22
23
  # from lino import logger
23
24
  from lino.utils import isiterable
24
25
  from lino.utils.jsgen import py2js, js_code
@@ -836,10 +837,11 @@ class TextRenderer(HtmlRenderer):
836
837
  # print(f"20240929 {nosummary} {display_mode} {ar}")
837
838
  # yield "20240506 {}".format(ar)
838
839
  if display_mode == constants.DISPLAY_MODE_SUMMARY:
839
- s = to_rst(
840
- ar.actor.get_table_summary(ar),
841
- stripped=stripped,
842
- )
840
+ s = to_rst(tostring(E.span(*join_elems(ar.plain_toolbar_buttons()))),
841
+ stripped=stripped)
842
+ if s:
843
+ s += " | "
844
+ s += to_rst(ar.actor.get_table_summary(ar), stripped=stripped)
843
845
  if stripped:
844
846
  s = s.strip()
845
847
  yield s
lino/core/requests.py CHANGED
@@ -1562,7 +1562,7 @@ class BaseRequest:
1562
1562
  # assert iselement(btn)
1563
1563
  buttons.append(btn)
1564
1564
  # print("20181106", cls, self.bound_action, buttons)
1565
- # 20250713 buttons.append(self.open_in_own_window_button())
1565
+ buttons.append(self.open_in_own_window_button()) # 20250713
1566
1566
  return buttons
1567
1567
  # if len(buttons) == 0:
1568
1568
  # return None
@@ -1,5 +1,5 @@
1
1
  # -*- coding: UTF-8 -*-
2
- # Copyright 2015-2023 Rumma & Ko Ltd
2
+ # Copyright 2015-2025 Rumma & Ko Ltd
3
3
  # License: GNU Affero General Public License v3 (see file COPYING for details)
4
4
 
5
5
  from django.core.management.base import BaseCommand, CommandError
@@ -7,7 +7,7 @@ from django.core.management.base import BaseCommand, CommandError
7
7
  from lino.modlib.checkdata.choicelists import Checkers
8
8
  from lino.modlib.checkdata.models import check_data
9
9
 
10
- from lino.api import rt
10
+ from lino.api import dd, rt
11
11
 
12
12
 
13
13
  class Command(BaseCommand):
@@ -56,7 +56,7 @@ class Command(BaseCommand):
56
56
  app = options.get("checkers", args)
57
57
  if app:
58
58
  args += tuple(app)
59
- ar = rt.login()
59
+ ar = rt.login(dd.plugins.users.demo_username)
60
60
  if options["list"]:
61
61
  ar.show(Checkers, column_names="value text")
62
62
  else:
@@ -21,7 +21,9 @@ class OpenHelpWindow(dd.Action):
21
21
  # I undid that change:
22
22
  # button_text = " ? "
23
23
  # button_text = "?"
24
- button_text = "🛈"
24
+ # button_text = "🛈"
25
+ button_text = "ⓘ" # 24d8
26
+ # button_text = "🯄" # 1fbc4
25
27
  select_rows = False
26
28
  help_text = _("Open Help Window")
27
29
  show_in_plain = True
@@ -2,13 +2,9 @@
2
2
  # Copyright 2023 Rumma & Ko Ltd
3
3
  # License: GNU Affero General Public License v3 (see file COPYING for details)
4
4
 
5
- from lino.core import constants as ext_requests
6
- from lino.core.renderer import HtmlRenderer
5
+ from lino import logger
7
6
  from lino.core.renderer import add_user_language
8
-
9
7
  from lino.modlib.bootstrap3.renderer import Renderer
10
- from .mixins import Publishable
11
- # from .choicelists import PublisherViews
12
8
 
13
9
 
14
10
  class Renderer(Renderer):
@@ -27,6 +23,7 @@ class Renderer(Renderer):
27
23
  # if ar.actor is None or not isinstance(obj, ar.actor.model):
28
24
  loc = obj.__class__._lino_publisher_location
29
25
  if loc is None:
26
+ # logger.warning("No location for %s", obj.__class__)
30
27
  return None
31
28
  add_user_language(kwargs, ar)
32
29
  return self.front_end.buildurl(loc, str(obj.pk), **kwargs)
lino/utils/jsgen.py CHANGED
@@ -430,7 +430,8 @@ def py2js(v, compact=True):
430
430
  # raise Exception("Please call the function yourself")
431
431
  return "\n".join([ln for ln in v()])
432
432
  if isinstance(v, MissingRow):
433
- raise Exception("Cannot render {}".format(v))
433
+ return json.dumps(repr(v))
434
+ # raise Exception("Cannot render {}".format(v))
434
435
  if isinstance(v, js_code):
435
436
  return str(v.s) # v.s might be a unicode
436
437
  if v is None:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: lino
3
- Version: 25.7.0
3
+ Version: 25.7.1
4
4
  Summary: A framework for writing desktop-like web applications using Django and ExtJS or React
5
5
  Project-URL: Homepage, https://www.lino-framework.org
6
6
  Project-URL: Repository, https://gitlab.com/lino-framework/lino
@@ -1,13 +1,13 @@
1
1
  lino/.cvsignore,sha256=1vrrWoP-WD8hPfCszHHIiJEi8KUMRCt5WvoKB9TSB1k,28
2
2
  lino/SciTEDirectory.properties,sha256=rCYi_e-6h8Yx5DwXhAa6MBPlVINcl6Vv9BQDYZV2_go,28
3
- lino/__init__.py,sha256=-tXmHBrnqGdB4W4h9zhCowKIlxiqei6JVhYNeohzzwA,6176
3
+ lino/__init__.py,sha256=4GRhJ-tINrEyoiodjk4mtp_0OCEWUq5l7p-5_kDYIrI,6176
4
4
  lino/ad.py,sha256=AQ-vJ4scac1mx3xegXezxnxyOQpV-a0q3VFMJSDbj2s,142
5
5
  lino/apps.py,sha256=ECq-dPARDkuhngwNrcipse3b4Irj70HxJs44uWEZFc4,27
6
6
  lino/hello.py,sha256=7-PJg7PnEiznyETqGjOwXcKh8rda0qLetpbS2gvRYy0,532
7
7
  lino/help_texts.py,sha256=TxOF546t_KpaAJEkbhfcTjGvS4eM7KDxwZ9iyay6_lM,91937
8
8
  lino/api/__init__.py,sha256=WmzHU-rHdZ68se_nI0SmepQTGE8-cd9tPpovHRH9aag,512
9
9
  lino/api/ad.py,sha256=F6SrcKPRRalHKOZ7QLwsRWGq9hhykQIeo0b85cEk9NQ,314
10
- lino/api/dd.py,sha256=DQkEnJAo7rxy9qMs2J0l8uAFmVKTyu-ap3wWSQgAfNQ,7469
10
+ lino/api/dd.py,sha256=w-5qIpWdXu5yXyCC4Qh4ApB3yZTn0AwdxAjEhH8PyVE,7510
11
11
  lino/api/doctest.py,sha256=03DJb2p2XU3c6jsU7-yDSZl8GG9Qqs8zLLoVgfMuq2c,25176
12
12
  lino/api/rt.py,sha256=OCYWhrWnMcL988MdvBLBEP8qKQJEGXQhVoam_X0sotU,1376
13
13
  lino/api/selenium.py,sha256=bOu8UaNz3Q7lGVvxjmvrtYtSWn1xfI1f5MN5sVcdYr8,9383
@@ -28,16 +28,16 @@ lino/config/unused/403.html,sha256=ePwDIUXhz1iD8xXWWyt5xEvpcGIHU4LMnXma8x0ik1c,2
28
28
  lino/config/unused/404.html,sha256=GOJrAyF6NcM69ETdSHgjff_-lvYs_-bOYhyZBem7x3I,220
29
29
  lino/config/unused/500.html,sha256=aWmP37uPoMS-PJgPuBloxdx0nEreU7AvkXxsex3yVYs,544
30
30
  lino/core/__init__.py,sha256=9nP7MydRX_PBbQuGbF4_wIZ98CkClMP5HKXeRB0CnoY,747
31
- lino/core/actions.py,sha256=KQlXmd3V5K9E2yV8AblIkoXnZbqucbOiEU7GrMynhjE,31565
32
- lino/core/actors.py,sha256=CA5bCmcyztKCXONeOYmavkT0_2uf4eMh4VfHKiHG2ds,77649
31
+ lino/core/actions.py,sha256=VgSPlXxkimk9IHFm8g0aOfyn--ig9C7sM4yHuaTTup0,32337
32
+ lino/core/actors.py,sha256=sYV0C90l4FPoiNIZwVyE0YNXCEF09IK27EDB_36gvWc,77906
33
33
  lino/core/atomizer.py,sha256=T2hrXJoGRy_mYfYT4fILcicpNZ1v-wMw8iF7Zqq-tNQ,13401
34
34
  lino/core/boundaction.py,sha256=06NNPjCesEr-R1YQKkiuy8JKzDrMJJ948x9jczOkZqY,7850
35
35
  lino/core/callbacks.py,sha256=uu1-znzxVDD-JETUebw-hYsNg_9ExQb1vfwbc7Psjro,7549
36
36
  lino/core/choicelists.py,sha256=5Xu3M5ZVOis2JoNSuNiJGBHdkqCwLofUxSd19iLIlKs,36503
37
37
  lino/core/classproperty.py,sha256=_E95WPAs7BWbAuFpPvoYM2ZwW_mbq3rvF7o43WsMq_8,4316
38
38
  lino/core/constants.py,sha256=GwSyViDk3wClZzgbrCo6N-JYOa3LCP46FSof-iZ5RRU,5085
39
- lino/core/dashboard.py,sha256=ew-a7cEpU7rWxoMaZKNucAqSUCjW_SM2y2k6-hMoNKg,6620
40
- lino/core/dbtables.py,sha256=tZyZBQTlMPsggwYpsE7K-LIUsbVPNTRFb6I80OfZcWI,29107
39
+ lino/core/dashboard.py,sha256=kKUoZ1P6He0By3qUOkNIPAVF1zPkXxGFgHsCOdQ8syM,6672
40
+ lino/core/dbtables.py,sha256=AqH7OGnXiup7avmFU-GQubXqVYW338tu43D5X9BCyFE,29127
41
41
  lino/core/dbutils.py,sha256=_QHcWd-ajLUwt5G8uOp8d47lZQKD3VseHnqKJke18rA,263
42
42
  lino/core/ddh.py,sha256=dYScxWKTOCDEgow7wJNJe812ESasmmITPK2ovraBQno,3172
43
43
  lino/core/diff.py,sha256=XQ-oQQDS_v3kXd4eRP9Hwr5UCgp-TPZIPVav9ZblUno,5882
@@ -56,8 +56,8 @@ lino/core/merge.py,sha256=sKtTeZtHdoDKerdHj4NXuXXNzpKDsfdPaiq-CY0NqQc,9094
56
56
  lino/core/model.py,sha256=deKe_o_JEuwO1AyJhVqnr4iS25OKX3YExdAygfHwZB4,37015
57
57
  lino/core/permissions.py,sha256=sNReMhnjIpOZcJ79Z4k-Emp55evblExJZwH-PM-efcA,7579
58
58
  lino/core/plugin.py,sha256=n_f5dSy4vqamnyzpNnaNcTlUp2EAgaAVxIJ5EHG7aHc,6837
59
- lino/core/renderer.py,sha256=Z0Seiv2dopEGoJNpbhS0asJhOoFJSfpss_ZiPp2eOsw,48094
60
- lino/core/requests.py,sha256=7w0XE0qk1eS9ZYMso33F6A4zFK5FvLqv84hMWbtYr9M,96355
59
+ lino/core/renderer.py,sha256=WFRcyfeZjNucyHOc-B5agQirb4YhTOCZgQu25vlFOaQ,48252
60
+ lino/core/requests.py,sha256=g_TH_Zs3sXKHQtSSKuOhMR2gOjHlEh4kNXML41BrpDs,96356
61
61
  lino/core/roles.py,sha256=PXwk436xUupxdbJcygRSYFu7ixfKjAJPQRUQ8sy0lB0,4425
62
62
  lino/core/signals.py,sha256=ORY2s3Krlh9n24XyHetfwbeUhCqzib6YSqWeFTTY7ps,979
63
63
  lino/core/site.py,sha256=07wtz6RMVdRd8fFH1KHHpaHSNU7WysLTuuNWbS9VKfI,83585
@@ -170,7 +170,7 @@ lino/modlib/checkdata/fixtures/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5
170
170
  lino/modlib/checkdata/fixtures/checkdata.py,sha256=LD-uIzRIDEv4v0lrPTdvpH_cLITNDF7Z1DCx-Ew_C-w,402
171
171
  lino/modlib/checkdata/management/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
172
172
  lino/modlib/checkdata/management/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
173
- lino/modlib/checkdata/management/commands/checkdata.py,sha256=CjtGm26qPxIWgkn5a95IdDGCdFpSgw50CH19Vrzojp8,1928
173
+ lino/modlib/checkdata/management/commands/checkdata.py,sha256=z-mvg8R0G7-BiWcyeyeMUoaLEhi9n58lockOtPdmhCg,1962
174
174
  lino/modlib/comments/__init__.py,sha256=XoRLIB-pSsz4EfA2FhsbKQ27fsW_AAvS7SyA0_vhHv8,1678
175
175
  lino/modlib/comments/choicelists.py,sha256=SIA7P_KwtaayqOJxCkwyZouK0Z23-2v4ZFV9a0Zexnk,3314
176
176
  lino/modlib/comments/mixins.py,sha256=h1VvM4h-6rEixziz0r7vJCptM7T7K6i4r50Scz5riws,4413
@@ -3495,7 +3495,7 @@ lino/modlib/gfks/fields.py,sha256=qVQhkSlj1pxhFEOw5QjEHty9dAtSmXakNU98vztREj8,32
3495
3495
  lino/modlib/gfks/mixins.py,sha256=BcITVETBR7zVj684diZGCii3rzm7lgrgzr2euy-D-iw,2626
3496
3496
  lino/modlib/gfks/models.py,sha256=bDbuvtpSW-wxNWLC3pKWsDQPyN4g6MFMTS-66aQ2DX8,6723
3497
3497
  lino/modlib/help/__init__.py,sha256=sPe4flqqGEtxefsUaPdzAti7qkmLuPD9mhKc8CA2uWs,4413
3498
- lino/modlib/help/models.py,sha256=aKKje92TBgBFfuUv634bgQi9NgSMr2DUjMUHMDTEuCM,3529
3498
+ lino/modlib/help/models.py,sha256=oGY8HISu7xcZOr0UMeJQjRRg8y3x4xt-hZn41ml3Q1Y,3599
3499
3499
  lino/modlib/help/utils.py,sha256=IRGHjvPZVtw16SMehxenN8cJGT8gROcYv53UFC01oZQ,4263
3500
3500
  lino/modlib/help/config/makehelp/actor.tpl.rst,sha256=Yl-ZAWvI93cVFLd7GG-qpn_vkGFvKe3iR0eWBJpHgMc,346
3501
3501
  lino/modlib/help/config/makehelp/actors.tpl.rst,sha256=wXMKYQnlhLi432QggVgRUWGuHRDiSX9NyXSdnSar7Io,249
@@ -3595,7 +3595,7 @@ lino/modlib/publisher/__init__.py,sha256=bGQduKmgzr_lU2N6H4q4I5ZmW-3iwdPuT2D8dpi
3595
3595
  lino/modlib/publisher/choicelists.py,sha256=gVzjyp1sJ-XewAW-I_bCrKdTLgygLzh1ZwFI1rKyPdo,9070
3596
3596
  lino/modlib/publisher/mixins.py,sha256=yRxAtFSNe9aVvdY-th_a5wmQ76jBfKYWzeNUn-efJMA,6651
3597
3597
  lino/modlib/publisher/models.py,sha256=Yn6MRp2_iHIXw-kwlfaQP4mfSkVPJdjEBJ8pqgltcPQ,17260
3598
- lino/modlib/publisher/renderer.py,sha256=9RoyVMQcbwh_GcbDJO8BWhCKe1kpbDc9M45hrMqzpNs,1922
3598
+ lino/modlib/publisher/renderer.py,sha256=Rl6fX8PzfX6crmnUh8mdU5Mpe44mSN5lTu_Pv8aVSCk,1845
3599
3599
  lino/modlib/publisher/ui.py,sha256=qWp3JWhO6zN_HSZvSlolmNTgiZgoJeY2_TIDh9nYf3Q,4491
3600
3600
  lino/modlib/publisher/views.py,sha256=_0ktDagke4TOWVekJOnaRJBrbKqn27Yfz3SC2UnHKTM,2423
3601
3601
  lino/modlib/publisher/config/publisher/base.html,sha256=nrWuN4lhP1O4ORdYTaY3fS2pc90yfUnfDYfm2Jtr7hQ,198
@@ -4607,7 +4607,7 @@ lino/utils/html2xhtml.py,sha256=fvrIoLBFpiXtYO3UYaIgAIDjf6ATvrxolQX4etxS57Y,2119
4607
4607
  lino/utils/instantiator.py,sha256=RWC0uG1XkYa7yjQfWl9rmA_g9tErjeO5mM06u-BatnE,7027
4608
4608
  lino/utils/jinja.py,sha256=1FZgWNKEP9wcokFuIfYysl_VD5mwVHxBHtpnmO17nRQ,1444
4609
4609
  lino/utils/jscompressor.py,sha256=j9UTaaPCfRZLrWUh6PBp0KDDM0QshG7XAFzp-R_elOs,5225
4610
- lino/utils/jsgen.py,sha256=fhMnrDvZipEyn601LX-efm6lFNKBVBo-FsfPa2NzEv4,15215
4610
+ lino/utils/jsgen.py,sha256=p5BSoCYs67AgD-Q9gmeJp_uQffskT3HXYdp7SrniDsI,15252
4611
4611
  lino/utils/latex.py,sha256=cv5rJjtcslTVoRNjAmlUd2CCpC0GPO-YnvJgNJJe0R8,2218
4612
4612
  lino/utils/mdbtools.py,sha256=R1LHskyDLtwBcYRDA14PU2XeSku9gRUIV52f4Sr-Hto,5310
4613
4613
  lino/utils/media.py,sha256=Vk-Mt-w9agYWhKHW6zqr9p6cu5uYQaeaPQU28cbgUDU,2306
@@ -4639,8 +4639,8 @@ lino/utils/xml.py,sha256=EGDnO1UaREst9fS7KTESdbHnrrVCwKbRQdvut6B6GmQ,1612
4639
4639
  lino/utils/mldbc/__init__.py,sha256=QqWRlzeXaOmFfbCk-vTY3SZMn1-FCf67XnpZdd_Nim0,1134
4640
4640
  lino/utils/mldbc/fields.py,sha256=tAX8G5UKigr9c6g0F3ARIjZZtg406mdaZ--PWSbiH9E,2873
4641
4641
  lino/utils/mldbc/mixins.py,sha256=CkYe5jDa7xp9fJq_V8zcZf8ocxgIjUgHc9KZccvA_Yw,1945
4642
- lino-25.7.0.dist-info/METADATA,sha256=Rxy8lsnNffgkydz3vOaKqFw11kDeWqolEP1mauFmlnI,42534
4643
- lino-25.7.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
4644
- lino-25.7.0.dist-info/licenses/AUTHORS.rst,sha256=8VEm_G4HOmYEa4oi1nVoKKsdo4JanekEJCefWd2E8vk,981
4645
- lino-25.7.0.dist-info/licenses/COPYING,sha256=DZak_2itbUtvHzD3E7GNUYSRK6jdOJ-GqncQ2weavLA,34523
4646
- lino-25.7.0.dist-info/RECORD,,
4642
+ lino-25.7.1.dist-info/METADATA,sha256=jwBbYq7IHLniKNteGXBs7OPWNeqM5uMAyl8sNwEi4Fc,42534
4643
+ lino-25.7.1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
4644
+ lino-25.7.1.dist-info/licenses/AUTHORS.rst,sha256=8VEm_G4HOmYEa4oi1nVoKKsdo4JanekEJCefWd2E8vk,981
4645
+ lino-25.7.1.dist-info/licenses/COPYING,sha256=DZak_2itbUtvHzD3E7GNUYSRK6jdOJ-GqncQ2weavLA,34523
4646
+ lino-25.7.1.dist-info/RECORD,,
File without changes