lino 25.5.3__py3-none-any.whl → 25.6.0__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 +1 -1
- lino/core/actions.py +2 -0
- lino/core/actors.py +2 -2
- lino/core/constants.py +20 -0
- lino/core/fields.py +5 -0
- lino/core/renderer.py +10 -0
- lino/core/requests.py +6 -1
- lino/modlib/extjs/views.py +1 -1
- lino/modlib/help/config/makehelp/plugin.tpl.rst +3 -1
- lino/modlib/help/management/commands/makehelp.py +1 -0
- lino/utils/diag.py +11 -4
- {lino-25.5.3.dist-info → lino-25.6.0.dist-info}/METADATA +1 -1
- {lino-25.5.3.dist-info → lino-25.6.0.dist-info}/RECORD +16 -16
- {lino-25.5.3.dist-info → lino-25.6.0.dist-info}/WHEEL +0 -0
- {lino-25.5.3.dist-info → lino-25.6.0.dist-info}/licenses/AUTHORS.rst +0 -0
- {lino-25.5.3.dist-info → lino-25.6.0.dist-info}/licenses/COPYING +0 -0
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.
|
34
|
+
__version__ = '25.6.0'
|
35
35
|
|
36
36
|
# import setuptools # avoid UserWarning "Distutils was imported before Setuptools"?
|
37
37
|
|
lino/core/actions.py
CHANGED
@@ -246,6 +246,8 @@ class Action(Parametrizable, Permittable):
|
|
246
246
|
fields.setup_params_choosers(self)
|
247
247
|
|
248
248
|
def attach_to_actor(self, owner, name):
|
249
|
+
if not owner.editable and not self.readonly:
|
250
|
+
return False
|
249
251
|
# if not actor.editable and not self.readonly:
|
250
252
|
# return False
|
251
253
|
if self.defining_actor is not None:
|
lino/core/actors.py
CHANGED
@@ -1981,9 +1981,9 @@ class Actor(Parametrizable, Permittable, metaclass=ActorMetaClass):
|
|
1981
1981
|
for i, obj in enumerate(sar.data_iterator):
|
1982
1982
|
if i == cls.preview_limit:
|
1983
1983
|
break
|
1984
|
-
s = obj.
|
1984
|
+
s = obj.as_tile(sar)
|
1985
1985
|
# assert_safe(s) # temporary 20240506
|
1986
|
-
html += s
|
1986
|
+
html += format_html(constants.TILE_TEMPLATE, chunk=s)
|
1987
1987
|
return html
|
1988
1988
|
|
1989
1989
|
@classmethod
|
lino/core/constants.py
CHANGED
@@ -204,3 +204,23 @@ def parse_boolean(v):
|
|
204
204
|
if v in ("false", "off", False):
|
205
205
|
return False
|
206
206
|
raise Exception("Invalid boolean value %r" % v)
|
207
|
+
|
208
|
+
|
209
|
+
# TILE_TEMPLATE = """
|
210
|
+
# <div style="margin: 20px;" class="p-card md:w-25rem"><div class="p-card-content">
|
211
|
+
# {chunk}
|
212
|
+
# </div></div>
|
213
|
+
# """
|
214
|
+
#
|
215
|
+
# TILE_TEMPLATE = """
|
216
|
+
# <div style="position: relative; width: fit-content; display: inline-block;
|
217
|
+
# background-color:cornsilk; margin:1rem; padding: 1rem; width: 20rem; max-height: 35rem;">
|
218
|
+
# {chunk}
|
219
|
+
# </div>
|
220
|
+
# """
|
221
|
+
|
222
|
+
TILE_TEMPLATE = """
|
223
|
+
<div class="l-tile">
|
224
|
+
{chunk}
|
225
|
+
</div>
|
226
|
+
"""
|
lino/core/fields.py
CHANGED
@@ -1433,6 +1433,11 @@ class TableRow(object):
|
|
1433
1433
|
return escape(str(self))
|
1434
1434
|
return self.as_paragraph(ar)
|
1435
1435
|
|
1436
|
+
@displayfield(_("Select multiple rows"))
|
1437
|
+
def rowselect(self, ar):
|
1438
|
+
"""A place holder for primereact Datatable column "Selection Column\""""
|
1439
|
+
return None
|
1440
|
+
|
1436
1441
|
def get_overview_elems(self, ar):
|
1437
1442
|
# return [ar.obj2html(self)]
|
1438
1443
|
return [self.as_summary_item(ar)]
|
lino/core/renderer.py
CHANGED
@@ -1028,6 +1028,16 @@ class JsRenderer(HtmlRenderer):
|
|
1028
1028
|
"""
|
1029
1029
|
return "Lino.viewport.refresh();"
|
1030
1030
|
|
1031
|
+
def check_visibility(self, ar):
|
1032
|
+
for obj in ar.selected_rows:
|
1033
|
+
try:
|
1034
|
+
ar.get_row_by_pk(obj.pk)
|
1035
|
+
return
|
1036
|
+
except obj.__class__.DoesNotExist:
|
1037
|
+
ar.set_response(
|
1038
|
+
record_deleted=True,
|
1039
|
+
message=_("Row {} is longer visible").format(obj))
|
1040
|
+
|
1031
1041
|
def goto_instance(self, ar, obj, detail_action=None, **kw):
|
1032
1042
|
"""Instruct the client to display a detail window on the given
|
1033
1043
|
record.
|
lino/core/requests.py
CHANGED
@@ -512,7 +512,7 @@ class BaseRequest:
|
|
512
512
|
pk=master_type).model_class()
|
513
513
|
except ContentType.DoesNotExist:
|
514
514
|
raise exceptions.BadRequest(
|
515
|
-
"Invalid master_type {}"
|
515
|
+
f"Invalid master_type {master_type}") from None
|
516
516
|
self.master = master
|
517
517
|
|
518
518
|
if self.master is not None and self.master_instance is None:
|
@@ -1156,6 +1156,9 @@ class BaseRequest:
|
|
1156
1156
|
def ar2js(self, *args, **kwargs):
|
1157
1157
|
return self.renderer.ar2js(self, *args, **kwargs)
|
1158
1158
|
|
1159
|
+
def check_visibility(self, *args, **kwargs):
|
1160
|
+
return self.renderer.check_visibility(self, *args, **kwargs)
|
1161
|
+
|
1159
1162
|
def goto_pk(self, pk, text, **kwargs):
|
1160
1163
|
"""Return a HTML link that navigates to the record with the specified primary key.
|
1161
1164
|
|
@@ -1578,6 +1581,8 @@ class BaseRequest:
|
|
1578
1581
|
:class:`InstanceAction <lino.core.requests.InstanceAction>`
|
1579
1582
|
``ia`` on the client.
|
1580
1583
|
|
1584
|
+
Maybe deprecated. Use :meth:`row_action_button` instead.
|
1585
|
+
|
1581
1586
|
"""
|
1582
1587
|
# logger.info("20200417 %s", ia)
|
1583
1588
|
return self.renderer.row_action_button(
|
lino/modlib/extjs/views.py
CHANGED
@@ -433,7 +433,7 @@ class ApiElement(View):
|
|
433
433
|
ar.renderer = settings.SITE.kernel.default_renderer
|
434
434
|
|
435
435
|
if not ar.get_permission():
|
436
|
-
msg = f"
|
436
|
+
msg = f"{ar.get_user()} has no permission to run {ar}"
|
437
437
|
# raise Exception(msg)
|
438
438
|
raise PermissionDenied(msg)
|
439
439
|
|
@@ -7,10 +7,12 @@ See also :mod:`{{plugin.app_name}}`.
|
|
7
7
|
Models
|
8
8
|
======
|
9
9
|
|
10
|
-
{% for model in get_models()
|
10
|
+
{% for model in get_models() %}
|
11
|
+
{% if model._meta.app_label == plugin.app_label %}
|
11
12
|
- :doc:`{{full_model_name(model)}}` :
|
12
13
|
{{abstract(model, 2)}}
|
13
14
|
|
15
|
+
{% endif %}
|
14
16
|
{% endfor %}
|
15
17
|
|
16
18
|
Actors
|
lino/utils/diag.py
CHANGED
@@ -4,6 +4,7 @@
|
|
4
4
|
"""Some diagnostic utilities."""
|
5
5
|
|
6
6
|
# from textwrap import fill
|
7
|
+
import textwrap
|
7
8
|
import rstgen
|
8
9
|
from rstgen.utils import unindent
|
9
10
|
|
@@ -143,7 +144,7 @@ class Analyzer(object):
|
|
143
144
|
|
144
145
|
return rstgen.ul(items)
|
145
146
|
|
146
|
-
def show_database_structure(self, sort_fields=False, sort_models=True):
|
147
|
+
def show_database_structure(self, sort_fields=False, sort_models=True, verbose_names=False):
|
147
148
|
"""Show a bullet list of all models and their fields.
|
148
149
|
|
149
150
|
Both the list of models and the fields of each model can optionally be
|
@@ -156,10 +157,16 @@ class Analyzer(object):
|
|
156
157
|
# names = []
|
157
158
|
# for f in model._meta.concrete_fields:
|
158
159
|
# names.append(f.name)
|
159
|
-
|
160
|
+
dbfields = list(model._meta.concrete_fields)
|
160
161
|
if sort_fields:
|
161
|
-
|
162
|
-
|
162
|
+
dbfields = sorted(names, key=lambda f: f.name)
|
163
|
+
if verbose_names:
|
164
|
+
txt = f"{fmn(model)} ({model._meta.verbose_name}):\n" \
|
165
|
+
+ f"{textwrap.indent(self.show_fields(model), ' ')}"
|
166
|
+
else:
|
167
|
+
txt = "{0} : {1}".format(
|
168
|
+
fmn(model), ", ".join([f.name for f in dbfields]))
|
169
|
+
items.append(txt)
|
163
170
|
|
164
171
|
if sort_models:
|
165
172
|
items = sorted(items)
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: lino
|
3
|
-
Version: 25.
|
3
|
+
Version: 25.6.0
|
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,6 +1,6 @@
|
|
1
1
|
lino/.cvsignore,sha256=1vrrWoP-WD8hPfCszHHIiJEi8KUMRCt5WvoKB9TSB1k,28
|
2
2
|
lino/SciTEDirectory.properties,sha256=rCYi_e-6h8Yx5DwXhAa6MBPlVINcl6Vv9BQDYZV2_go,28
|
3
|
-
lino/__init__.py,sha256=
|
3
|
+
lino/__init__.py,sha256=fKnjNGIZyz4WEsxs7ZAvPrnE6R-tH93uOTAMhqcIIrs,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
|
@@ -28,14 +28,14 @@ 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=
|
32
|
-
lino/core/actors.py,sha256=
|
31
|
+
lino/core/actions.py,sha256=4dWfj_2OEJzzS66Aw0O6K2PJFAzPXcn02HL9lk45eIE,30136
|
32
|
+
lino/core/actors.py,sha256=oDZJOK-emU5YoXo-Dp85j0JwSYphmCZSRT6L6y39V4U,76663
|
33
33
|
lino/core/atomizer.py,sha256=T2hrXJoGRy_mYfYT4fILcicpNZ1v-wMw8iF7Zqq-tNQ,13401
|
34
34
|
lino/core/boundaction.py,sha256=MZaYqYTQylBiVx9ag8CYsbKF_J6StccZKyJAKZ9zbVw,7241
|
35
35
|
lino/core/callbacks.py,sha256=uu1-znzxVDD-JETUebw-hYsNg_9ExQb1vfwbc7Psjro,7549
|
36
36
|
lino/core/choicelists.py,sha256=5b_FpURG1ZNwEGfuvCd9FtI3agCHJnhj31ZxaXcur3A,36504
|
37
37
|
lino/core/classproperty.py,sha256=_E95WPAs7BWbAuFpPvoYM2ZwW_mbq3rvF7o43WsMq_8,4316
|
38
|
-
lino/core/constants.py,sha256=
|
38
|
+
lino/core/constants.py,sha256=tF-wczVRLZ7QRdzfOXLALs0N-eKUIzrsAej2EgSkXek,4974
|
39
39
|
lino/core/dashboard.py,sha256=1ASWZ9I1LQBUJZ0JKiwW_g_1Pix3jb4SWUFC2cUM23g,6537
|
40
40
|
lino/core/dbtables.py,sha256=MLiaNZXXeFe9CawBq-7JpLGEbQM-8uhgBCp7YQrCmwE,29107
|
41
41
|
lino/core/dbutils.py,sha256=_QHcWd-ajLUwt5G8uOp8d47lZQKD3VseHnqKJke18rA,263
|
@@ -43,7 +43,7 @@ lino/core/ddh.py,sha256=dYScxWKTOCDEgow7wJNJe812ESasmmITPK2ovraBQno,3172
|
|
43
43
|
lino/core/diff.py,sha256=XQ-oQQDS_v3kXd4eRP9Hwr5UCgp-TPZIPVav9ZblUno,5882
|
44
44
|
lino/core/elems.py,sha256=IyP8ky55hVO0L7am2k6lbWqIInA31Tszar3tfed-yls,109674
|
45
45
|
lino/core/exceptions.py,sha256=QDxDo5cllSyXQ8VWet9hGXzNadxCOmwMVrFXc6V-vpE,665
|
46
|
-
lino/core/fields.py,sha256=
|
46
|
+
lino/core/fields.py,sha256=nXWMk9yw-6xY7SIjLFhtRW1-cuVh2-nY6-QjQMSDnIg,54414
|
47
47
|
lino/core/frames.py,sha256=ISxgq9zyZfqW3tDZMWdKi9Ij455lT_81qBH0xex0bfE,1161
|
48
48
|
lino/core/gfks.py,sha256=6VXn2FSIXOrwVq0stfbPevT37EWg1tg4Fn-HMNVnbmk,1970
|
49
49
|
lino/core/help.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -56,8 +56,8 @@ lino/core/merge.py,sha256=sKtTeZtHdoDKerdHj4NXuXXNzpKDsfdPaiq-CY0NqQc,9094
|
|
56
56
|
lino/core/model.py,sha256=iU85rvZNeSpm53DcE8bQo4ANp0VqtcwMLH_PdLOwxeQ,36982
|
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=
|
60
|
-
lino/core/requests.py,sha256=
|
59
|
+
lino/core/renderer.py,sha256=9kxS9ezKo9foJYIGKSmcDAz892Vw4-tTorwjUFIqYew,47808
|
60
|
+
lino/core/requests.py,sha256=N9SuKdR2_ypMm4YwFYhUhQN0nB9R35glpGUD_5hhOM8,96287
|
61
61
|
lino/core/roles.py,sha256=PXwk436xUupxdbJcygRSYFu7ixfKjAJPQRUQ8sy0lB0,4425
|
62
62
|
lino/core/signals.py,sha256=sdlqXaMF4ORCAMO6HR40F4z-ZzcCvszNmidsJUmgXo0,950
|
63
63
|
lino/core/site.py,sha256=19tuYAAyjAMkVrzfRrzIkYaFx53dzpQCVeqyrcCP8z4,82742
|
@@ -189,7 +189,7 @@ lino/modlib/export_excel/__init__.py,sha256=HrsrhXjIMvMHRGu8whH3A_WijZWrH35p2cQs
|
|
189
189
|
lino/modlib/export_excel/models.py,sha256=u9COKVdVsPwGk5WjgVarjLSkxmS-KOdohXfH4CruF_c,5353
|
190
190
|
lino/modlib/extjs/__init__.py,sha256=6UBWAWSROwy3DfTXQmVUVJTF6eZ_e2k3BEfE4wtqVhU,10172
|
191
191
|
lino/modlib/extjs/ext_renderer.py,sha256=IHdugi-IPAi5iNnPKjc1A44h20d-vhHYn8KkhT2EJgY,60628
|
192
|
-
lino/modlib/extjs/views.py,sha256
|
192
|
+
lino/modlib/extjs/views.py,sha256=-fXIFWeLs7NXq8HwkxXU02EMVO_lRXiy7GrgsEiqXrY,26577
|
193
193
|
lino/modlib/extjs/config/extjs/index.html,sha256=jO5hdNpFSkm9t0xhHD5hc8Hw1fSr6xb3zYq9aMyOI7Q,8603
|
194
194
|
lino/modlib/extjs/config/extjs/linoweb.js,sha256=I4VYGmkK4htqZvHM9g-6psJF3pp7SvgHEI0I02Sxpvo,175127
|
195
195
|
lino/modlib/extjs/config/extjs/service-worker.js,sha256=KEKWeehTlfBHk3r8NbsP9C5av_DukHORybxFOwbjYaQ,1767
|
@@ -3504,13 +3504,13 @@ lino/modlib/help/config/makehelp/copyright.tpl.rst,sha256=0fcF2Mf83HJc50iMbiN_qg
|
|
3504
3504
|
lino/modlib/help/config/makehelp/index.tpl.rst,sha256=q3SwIW70McQl5PmRniQvkj8ZaWQnEog9en8EDrE7qBw,281
|
3505
3505
|
lino/modlib/help/config/makehelp/model.tpl.rst,sha256=qmTDdcozGpKJKG9r27jfJSv8W-n9ArgCq_rfmY_n0I0,274
|
3506
3506
|
lino/modlib/help/config/makehelp/models.tpl.rst,sha256=6N_-CRztf1-bdKUr3Q7IXA-f2PrE4TZBpqDDct7oEMg,340
|
3507
|
-
lino/modlib/help/config/makehelp/plugin.tpl.rst,sha256=
|
3507
|
+
lino/modlib/help/config/makehelp/plugin.tpl.rst,sha256=H-4KQAW2WhmIYOCQ9Aei4jMg1XY3xRxtqbwIG0fLnIs,516
|
3508
3508
|
lino/modlib/help/config/makehelp/plugins.tpl.rst,sha256=rj9uRsag-u2gY_VcqkzuBepXhC5nRSRpoxJGvJHBVN8,352
|
3509
3509
|
lino/modlib/help/fixtures/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
3510
3510
|
lino/modlib/help/fixtures/demo2.py,sha256=P719oIom7C7l_65-pKrZgsD6lhWUzoQCaNTQyVgeyoo,892
|
3511
3511
|
lino/modlib/help/management/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
3512
3512
|
lino/modlib/help/management/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
3513
|
-
lino/modlib/help/management/commands/makehelp.py,sha256=
|
3513
|
+
lino/modlib/help/management/commands/makehelp.py,sha256=L7wXt-XFGh1uq4HQdUoh190BP4gFJ_jHsARpkn8evzs,18623
|
3514
3514
|
lino/modlib/importfilters/__init__.py,sha256=i_eUIwJSRHlSFJueqxBkApcIWOdW-bb1xwpMKGBWcZA,761
|
3515
3515
|
lino/modlib/importfilters/models.py,sha256=iESoL9hwcYG1TzfCbBCqhJS2tzFw5M3gVNgrCULkSWM,3227
|
3516
3516
|
lino/modlib/ipdict/__init__.py,sha256=n2fkShCZ-KIztazI_JQztJBBgg3c2GeIIh-5Q6ukZmA,1169
|
@@ -4593,7 +4593,7 @@ lino/utils/dates.py,sha256=eWF5WxA5uJf51Y9PKvDVBWD8yIf6yBF6oO6TeU3ujzw,1030
|
|
4593
4593
|
lino/utils/dbfreader.py,sha256=KrGsBAFV2tF9pAd9jsmBAFpZ-yw-CRymZHEn_q9IL90,13784
|
4594
4594
|
lino/utils/dbhash.py,sha256=TMnUGhOFbaip6L2Y4ENhCOS79ujJiO0CyYcOCZyHiK4,3505
|
4595
4595
|
lino/utils/dblogger.py,sha256=kr0YxQY6veymvNg5A4tsvkqW8haRWdwqL0C-_9_QTg0,721
|
4596
|
-
lino/utils/diag.py,sha256=
|
4596
|
+
lino/utils/diag.py,sha256=IVEn1CVqB_R_kN_hEp_JUQTdHysBVlZ9LCHkKDZ-s8c,18766
|
4597
4597
|
lino/utils/djangotest.py,sha256=Phz1qNp0wDonZRja5dxbCk0Xl3a73gZNiKK8v9tAgZg,8334
|
4598
4598
|
lino/utils/dpy.py,sha256=Hw4ofFnhRPAE2PsPf9r5RpzcfVLQdIjtOe-XtMMLtuE,20661
|
4599
4599
|
lino/utils/fieldutils.py,sha256=6GwPOfL-Jv-uh5-tZrTqC1hJccqHhdLbVSy4CAeegDA,2957
|
@@ -4636,8 +4636,8 @@ lino/utils/xml.py,sha256=EGDnO1UaREst9fS7KTESdbHnrrVCwKbRQdvut6B6GmQ,1612
|
|
4636
4636
|
lino/utils/mldbc/__init__.py,sha256=QqWRlzeXaOmFfbCk-vTY3SZMn1-FCf67XnpZdd_Nim0,1134
|
4637
4637
|
lino/utils/mldbc/fields.py,sha256=tAX8G5UKigr9c6g0F3ARIjZZtg406mdaZ--PWSbiH9E,2873
|
4638
4638
|
lino/utils/mldbc/mixins.py,sha256=CkYe5jDa7xp9fJq_V8zcZf8ocxgIjUgHc9KZccvA_Yw,1945
|
4639
|
-
lino-25.
|
4640
|
-
lino-25.
|
4641
|
-
lino-25.
|
4642
|
-
lino-25.
|
4643
|
-
lino-25.
|
4639
|
+
lino-25.6.0.dist-info/METADATA,sha256=dfvlNHT7o1PXXRZT0CRFuIt_ASHgTJdu_0lt9zoJ_Nk,42534
|
4640
|
+
lino-25.6.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
4641
|
+
lino-25.6.0.dist-info/licenses/AUTHORS.rst,sha256=8VEm_G4HOmYEa4oi1nVoKKsdo4JanekEJCefWd2E8vk,981
|
4642
|
+
lino-25.6.0.dist-info/licenses/COPYING,sha256=DZak_2itbUtvHzD3E7GNUYSRK6jdOJ-GqncQ2weavLA,34523
|
4643
|
+
lino-25.6.0.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|