lino 24.10.0__py3-none-any.whl → 24.10.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 +1 -1
- lino/api/doctest.py +11 -5
- lino/core/__init__.py +0 -1
- lino/core/actions.py +1 -1
- lino/core/actors.py +17 -22
- lino/core/choicelists.py +28 -11
- lino/core/dashboard.py +18 -15
- lino/core/dbtables.py +21 -15
- lino/core/model.py +4 -2
- lino/core/renderer.py +19 -19
- lino/core/requests.py +872 -295
- lino/core/store.py +6 -6
- lino/core/tables.py +7 -7
- lino/core/utils.py +134 -0
- lino/modlib/bootstrap3/views.py +4 -3
- lino/modlib/extjs/views.py +2 -1
- lino/modlib/forms/views.py +3 -3
- lino/modlib/odata/views.py +2 -2
- lino/modlib/publisher/views.py +4 -1
- lino/utils/report.py +3 -10
- {lino-24.10.0.dist-info → lino-24.10.1.dist-info}/METADATA +1 -1
- {lino-24.10.0.dist-info → lino-24.10.1.dist-info}/RECORD +25 -26
- lino/core/tablerequest.py +0 -758
- {lino-24.10.0.dist-info → lino-24.10.1.dist-info}/WHEEL +0 -0
- {lino-24.10.0.dist-info → lino-24.10.1.dist-info}/licenses/AUTHORS.rst +0 -0
- {lino-24.10.0.dist-info → lino-24.10.1.dist-info}/licenses/COPYING +0 -0
lino/core/store.py
CHANGED
@@ -20,7 +20,7 @@ Other usages:
|
|
20
20
|
|
21
21
|
- render tables as text
|
22
22
|
(:meth:`lino.core.renderer.TextRenderer.show_table` and
|
23
|
-
:meth:`lino.core.
|
23
|
+
:meth:`lino.core.requests.ActionRequest.row2text`)
|
24
24
|
|
25
25
|
"""
|
26
26
|
|
@@ -45,11 +45,11 @@ from lino.core import fields
|
|
45
45
|
from lino.core import actors
|
46
46
|
from lino.core import actions
|
47
47
|
from lino.core import frames
|
48
|
+
from lino.core.utils import PhantomRow
|
48
49
|
from lino.utils import choosers
|
49
50
|
from lino.utils import curry
|
50
51
|
from lino.utils import iif
|
51
52
|
from lino.utils.format_date import fds
|
52
|
-
from lino.core.requests import PhantomRow
|
53
53
|
from lino.utils import IncompleteDate
|
54
54
|
from lino.core.utils import DelayedValue
|
55
55
|
|
@@ -861,7 +861,7 @@ class FileFieldStoreField(StoreField):
|
|
861
861
|
|
862
862
|
class MethodStoreField(StoreField):
|
863
863
|
"""Deprecated. See `/blog/2012/0327`.
|
864
|
-
Still used for
|
864
|
+
Still used for DISPLAY_MODE_HTML.
|
865
865
|
"""
|
866
866
|
|
867
867
|
def full_value_from_object(self, obj, ar=None):
|
@@ -870,7 +870,7 @@ class MethodStoreField(StoreField):
|
|
870
870
|
self.name,
|
871
871
|
unbound_meth.__code__.co_varnames,
|
872
872
|
)
|
873
|
-
# print self.field.name
|
873
|
+
# print(f"20241003 {self.field.name} {ar} full_value_from_object()")
|
874
874
|
return unbound_meth(obj, ar)
|
875
875
|
|
876
876
|
def value_from_object(self, obj, request=None):
|
@@ -879,7 +879,7 @@ class MethodStoreField(StoreField):
|
|
879
879
|
self.name,
|
880
880
|
unbound_meth.__code__.co_varnames,
|
881
881
|
)
|
882
|
-
# print self.field.name
|
882
|
+
# print(f"20241003 {self.field.name} value_from_object()")
|
883
883
|
return unbound_meth(obj, request)
|
884
884
|
|
885
885
|
# def obj2list(self,request,obj):
|
@@ -1413,7 +1413,7 @@ class Store(BaseStore):
|
|
1413
1413
|
for fld in fields:
|
1414
1414
|
if fld is None:
|
1415
1415
|
continue
|
1416
|
-
# logger.info("
|
1416
|
+
# logger.info("20241003 Store.row2dict %s", fld)
|
1417
1417
|
if fld.delayed_value:
|
1418
1418
|
# self.actor.collect_extra_fields(fld)
|
1419
1419
|
v = DelayedValue(ar, fld.name, row)
|
lino/core/tables.py
CHANGED
@@ -22,7 +22,6 @@ from lino.core import actions
|
|
22
22
|
from lino.core import fields
|
23
23
|
from lino.core import constants
|
24
24
|
from lino.core.utils import resolve_fields_list
|
25
|
-
from lino.core.tablerequest import TableRequest
|
26
25
|
|
27
26
|
# class InvalidRequest(Exception):
|
28
27
|
# pass
|
@@ -230,7 +229,7 @@ class AbstractTable(actors.Actor):
|
|
230
229
|
it. e.g. in case they need local filtering.
|
231
230
|
|
232
231
|
This will be called with a
|
233
|
-
:class:`lino.core.requests.
|
232
|
+
:class:`lino.core.requests.ActionRequest` object and is expected to
|
234
233
|
return or yield the list of "rows"::
|
235
234
|
|
236
235
|
@classmethod
|
@@ -642,19 +641,20 @@ method in order to sort the rows of the queryset.
|
|
642
641
|
|
643
642
|
@classmethod
|
644
643
|
def request(self, master_instance=None, **kw):
|
645
|
-
"""Return a new :class:`
|
646
|
-
<lino.core.
|
644
|
+
"""Return a new :class:`ActionRequest
|
645
|
+
<lino.core.requests.ActionRequest>` on this table.
|
647
646
|
|
648
|
-
|
649
|
-
<lino.core.
|
647
|
+
The :attr:`master_instance
|
648
|
+
<lino.core.requests.ActionRequest.master_instance>` can be
|
650
649
|
specified as optional first positional argument.
|
651
650
|
|
652
651
|
"""
|
652
|
+
from lino.core.requests import ActionRequest
|
653
653
|
kw.update(actor=self)
|
654
654
|
if master_instance is not None:
|
655
655
|
kw.update(master_instance=master_instance)
|
656
656
|
kw.setdefault("action", self.default_action)
|
657
|
-
return
|
657
|
+
return ActionRequest(**kw)
|
658
658
|
|
659
659
|
@classmethod
|
660
660
|
def run_action_from_console(self, pk=None, an=None):
|
lino/core/utils.py
CHANGED
@@ -953,3 +953,137 @@ def DelayedValue(ar, fieldname, obj):
|
|
953
953
|
#
|
954
954
|
# def __repr__(self):
|
955
955
|
# return "DelayedValue({})".format(self.url)
|
956
|
+
|
957
|
+
|
958
|
+
class InstanceAction:
|
959
|
+
"""
|
960
|
+
Volatile object that wraps a given action to be run on a given
|
961
|
+
model instance.
|
962
|
+
|
963
|
+
.. attribute:: bound_action
|
964
|
+
|
965
|
+
The bound action that will run.
|
966
|
+
|
967
|
+
.. attribute:: instance
|
968
|
+
|
969
|
+
The database object on which the action will run.
|
970
|
+
|
971
|
+
.. attribute:: owner
|
972
|
+
|
973
|
+
|
974
|
+
"""
|
975
|
+
|
976
|
+
def __init__(self, action, actor, instance, owner):
|
977
|
+
# ~ print "Bar"
|
978
|
+
# ~ self.action = action
|
979
|
+
if actor is None:
|
980
|
+
actor = instance.get_default_table()
|
981
|
+
self.bound_action = actor.get_action_by_name(action.action_name)
|
982
|
+
if self.bound_action is None:
|
983
|
+
raise Exception("%s has not action %r" % (actor, action))
|
984
|
+
# Happened 20131020 from lino_xl.lib.beid.eid_info() :
|
985
|
+
# When `use_eid_jslib` was False, then
|
986
|
+
# `Action.attach_to_actor` returned False.
|
987
|
+
self.instance = instance
|
988
|
+
self.owner = owner
|
989
|
+
|
990
|
+
def __str__(self):
|
991
|
+
return "{0} on {1}".format(self.bound_action, obj2str(self.instance))
|
992
|
+
|
993
|
+
def run_from_code(self, ar, *args, **kw):
|
994
|
+
"""
|
995
|
+
Probably to be deprecated.
|
996
|
+
Run this action on this instance in the given session, updating
|
997
|
+
the response of the session. Returns the return value of the
|
998
|
+
action.
|
999
|
+
"""
|
1000
|
+
# raise Exception("20170129 is this still used?")
|
1001
|
+
ar.selected_rows = [self.instance]
|
1002
|
+
return self.bound_action.action.run_from_code(ar, *args, **kw)
|
1003
|
+
|
1004
|
+
def run_from_ui(self, ar, *args, **kwargs):
|
1005
|
+
"""
|
1006
|
+
Run this action on this instance in the given session, updating
|
1007
|
+
the response of the session. Returns nothing.
|
1008
|
+
"""
|
1009
|
+
# raise Exception("20170129 is this still used?")
|
1010
|
+
# kw.update(selected_rows=[self.instance])
|
1011
|
+
ar.selected_rows = [self.instance]
|
1012
|
+
self.bound_action.action.run_from_ui(ar, *args, **kwargs)
|
1013
|
+
|
1014
|
+
def request_from(self, ses, **kwargs):
|
1015
|
+
"""
|
1016
|
+
Create an action request on this instance action without running
|
1017
|
+
the action.
|
1018
|
+
"""
|
1019
|
+
kwargs.update(selected_rows=[self.instance])
|
1020
|
+
kwargs.update(parent=ses)
|
1021
|
+
ar = self.bound_action.request(**kwargs)
|
1022
|
+
return ar
|
1023
|
+
|
1024
|
+
def run_from_session(self, ses, **kwargs):
|
1025
|
+
"""
|
1026
|
+
Run this instance action in a child request of given session.
|
1027
|
+
|
1028
|
+
Additional arguments are forwarded to the action.
|
1029
|
+
Returns the response of the child request.
|
1030
|
+
Doesn't modify response of parent request.
|
1031
|
+
"""
|
1032
|
+
ar = self.request_from(ses, **kwargs)
|
1033
|
+
self.bound_action.action.run_from_code(ar)
|
1034
|
+
return ar.response
|
1035
|
+
|
1036
|
+
def __call__(self, *args, **kwargs):
|
1037
|
+
"""
|
1038
|
+
Run this instance action in an anonymous base request.
|
1039
|
+
|
1040
|
+
Additional arguments are forwarded to the action.
|
1041
|
+
Returns the response of the base request.
|
1042
|
+
"""
|
1043
|
+
if len(args) and isinstance(args[0], BaseRequest):
|
1044
|
+
raise ChangedAPI("20181004")
|
1045
|
+
ar = self.bound_action.request()
|
1046
|
+
self.run_from_code(ar, *args, **kwargs)
|
1047
|
+
return ar.response
|
1048
|
+
|
1049
|
+
def as_button_elem(self, ar, label=None, **kwargs):
|
1050
|
+
return settings.SITE.kernel.row_action_button(
|
1051
|
+
self.instance, ar, self.bound_action, label, **kwargs
|
1052
|
+
)
|
1053
|
+
|
1054
|
+
def as_button(self, *args, **kwargs):
|
1055
|
+
"""Return a HTML chunk with a "button" which, when clicked, will
|
1056
|
+
execute this action on this instance. This is being used in
|
1057
|
+
the :ref:`lino.tutorial.polls`.
|
1058
|
+
|
1059
|
+
"""
|
1060
|
+
return tostring(self.as_button_elem(*args, **kwargs))
|
1061
|
+
|
1062
|
+
def get_row_permission(self, ar):
|
1063
|
+
state = self.bound_action.actor.get_row_state(self.instance)
|
1064
|
+
# logger.info("20150202 ia.get_row_permission() %s using %s",
|
1065
|
+
# self, state)
|
1066
|
+
return self.bound_action.get_row_permission(ar, self.instance, state)
|
1067
|
+
|
1068
|
+
|
1069
|
+
class VirtualRow(object):
|
1070
|
+
def __init__(self, **kw):
|
1071
|
+
self.update(**kw)
|
1072
|
+
|
1073
|
+
def update(self, **kw):
|
1074
|
+
for k, v in list(kw.items()):
|
1075
|
+
setattr(self, k, v)
|
1076
|
+
|
1077
|
+
def get_row_permission(self, ar, state, ba):
|
1078
|
+
if ba.action.readonly:
|
1079
|
+
return True
|
1080
|
+
return False
|
1081
|
+
|
1082
|
+
|
1083
|
+
class PhantomRow(VirtualRow):
|
1084
|
+
def __init__(self, request, **kw):
|
1085
|
+
self._ar = request
|
1086
|
+
VirtualRow.__init__(self, **kw)
|
1087
|
+
|
1088
|
+
def __str__(self):
|
1089
|
+
return str(self._ar.get_action_title())
|
lino/modlib/bootstrap3/views.py
CHANGED
@@ -23,7 +23,7 @@ from lino.core import constants
|
|
23
23
|
|
24
24
|
# from lino.core import auth
|
25
25
|
from lino.core.requests import BaseRequest
|
26
|
-
from lino.core.
|
26
|
+
from lino.core.tables import AbstractTable
|
27
27
|
from lino.core.views import action_request
|
28
28
|
from lino.core.utils import navinfo
|
29
29
|
from lino.utils.html import E, tostring
|
@@ -82,7 +82,7 @@ def table2html(ar, as_main=True):
|
|
82
82
|
"""Represent the given table request as an HTML table.
|
83
83
|
|
84
84
|
`ar` is the request to be rendered, an instance of
|
85
|
-
:class:`lino.core.
|
85
|
+
:class:`lino.core.requests.ActionRequest`.
|
86
86
|
|
87
87
|
The returned HTML enclosed in a ``<div>`` tag and generated using
|
88
88
|
:mod:`etgen.html`.
|
@@ -191,7 +191,8 @@ class List(View):
|
|
191
191
|
heading=ar.get_title(),
|
192
192
|
)
|
193
193
|
|
194
|
-
if isinstance(ar,
|
194
|
+
# if isinstance(ar, ActionRequest):
|
195
|
+
if ar .actor is not None and issubclass(ar.actor, AbstractTable):
|
195
196
|
context.update(main=table2html(ar))
|
196
197
|
else:
|
197
198
|
context.update(main=layout2html(ar, None))
|
lino/modlib/extjs/views.py
CHANGED
@@ -56,7 +56,8 @@ from lino.core.fields import choices_for_field
|
|
56
56
|
from lino.core.views import requested_actor, action_request
|
57
57
|
from lino.core.views import json_response, json_response_kw
|
58
58
|
from lino.core.views import choices_response
|
59
|
-
from lino.core.requests import BaseRequest
|
59
|
+
from lino.core.requests import BaseRequest
|
60
|
+
from lino.core.utils import PhantomRow
|
60
61
|
|
61
62
|
MAX_ROW_COUNT = 300
|
62
63
|
|
lino/modlib/forms/views.py
CHANGED
@@ -24,7 +24,7 @@ from lino.core import constants
|
|
24
24
|
|
25
25
|
# from lino.core import auth
|
26
26
|
from lino.core.requests import BaseRequest
|
27
|
-
from lino.core.
|
27
|
+
from lino.core.tables import AbstractTable
|
28
28
|
from lino.core.views import action_request
|
29
29
|
from lino.core.utils import navinfo
|
30
30
|
from lino.utils.html import E, tostring
|
@@ -83,7 +83,7 @@ def table2html(ar, as_main=True):
|
|
83
83
|
"""Represent the given table request as an HTML table.
|
84
84
|
|
85
85
|
`ar` is the request to be rendered, an instance of
|
86
|
-
:class:`lino.core.
|
86
|
+
:class:`lino.core.requests.ActionRequest`.
|
87
87
|
|
88
88
|
The returned HTML enclosed in a ``<div>`` tag and generated using
|
89
89
|
:mod:`etgen.html`.
|
@@ -173,7 +173,7 @@ class List(View):
|
|
173
173
|
heading=ar.get_title(),
|
174
174
|
)
|
175
175
|
|
176
|
-
if
|
176
|
+
if ar.actor is not None and issubclass(ar.actor, AbstractTable):
|
177
177
|
context.update(main=table2html(ar))
|
178
178
|
else:
|
179
179
|
context.update(main=layout2html(ar, None))
|
lino/modlib/odata/views.py
CHANGED
@@ -23,7 +23,7 @@ from lino.core import constants
|
|
23
23
|
|
24
24
|
# from lino.core import auth
|
25
25
|
from lino.core.requests import BaseRequest
|
26
|
-
from lino.core.
|
26
|
+
from lino.core.tables import AbstractTable
|
27
27
|
from lino.core.views import action_request
|
28
28
|
from lino.core.utils import navinfo
|
29
29
|
from lino.modlib.bootstrap3.views import http_response
|
@@ -40,7 +40,7 @@ class List(View):
|
|
40
40
|
heading=ar.get_title(),
|
41
41
|
)
|
42
42
|
|
43
|
-
if
|
43
|
+
if ar.actor is not None and issubclass(ar.actor, AbstractTable):
|
44
44
|
context.update(main=table2html(ar))
|
45
45
|
else:
|
46
46
|
context.update(main=layout2html(ar, None))
|
lino/modlib/publisher/views.py
CHANGED
@@ -40,7 +40,10 @@ class Element(View):
|
|
40
40
|
ar = self.table_class.request(request=request, **kw)
|
41
41
|
except ObjectDoesNotExist as e:
|
42
42
|
# print("20240911", e)
|
43
|
-
return http.HttpResponseNotFound(f"No row #{pk} in {self.table_class}")
|
43
|
+
return http.HttpResponseNotFound(f"No row #{pk} in {self.table_class} ({e})")
|
44
|
+
if len(ar.selected_rows) == 0:
|
45
|
+
# print(f"20241003 Oops {ar} has no rows")
|
46
|
+
return http.HttpResponseNotFound(f"20241003 No row #{pk} in {self.table_class}")
|
44
47
|
obj = ar.selected_rows[0]
|
45
48
|
return obj.get_publisher_response(ar)
|
46
49
|
|
lino/utils/report.py
CHANGED
@@ -1,27 +1,20 @@
|
|
1
1
|
# -*- coding: UTF-8 -*-
|
2
|
-
# Copyright 2009-
|
2
|
+
# Copyright 2009-2024 Rumma & Ko Ltd
|
3
3
|
# License: GNU Affero General Public License v3 (see file COPYING for details)
|
4
4
|
"""
|
5
5
|
|
6
6
|
|
7
7
|
"""
|
8
|
-
from __future__ import unicode_literals, print_function
|
9
|
-
from builtins import str
|
10
8
|
|
11
9
|
from django.conf import settings
|
12
10
|
|
13
|
-
from lino.utils import curry
|
14
|
-
|
15
11
|
from lino.core.frames import Frame
|
16
|
-
|
17
|
-
from lino.core.requests import InstanceAction
|
18
|
-
from lino.core.requests import VirtualRow
|
12
|
+
from lino.core.utils import InstanceAction, VirtualRow
|
19
13
|
from lino.core.actions import ShowEmptyTable, Action
|
20
14
|
from lino.core import fields
|
21
|
-
|
22
15
|
from lino.modlib.printing.mixins import Printable
|
23
16
|
from lino.modlib.printing.mixins import DirectPrintAction
|
24
|
-
|
17
|
+
from lino.utils import curry
|
25
18
|
# from lino.modlib.printing.choicelists import SimpleBuildMethod
|
26
19
|
from lino.utils.html import E
|
27
20
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.3
|
2
2
|
Name: lino
|
3
|
-
Version: 24.10.
|
3
|
+
Version: 24.10.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,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=BjoqzZU_BV7wBEGLmgzcdC3zSULQpzPc7cOPIwFGobU,5585
|
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
|
@@ -8,7 +8,7 @@ lino/help_texts.py,sha256=gZq8EJfReHB8Z5jKFFOr1pjDRODm7FVkHC8IRA7gq3w,89104
|
|
8
8
|
lino/api/__init__.py,sha256=WmzHU-rHdZ68se_nI0SmepQTGE8-cd9tPpovHRH9aag,512
|
9
9
|
lino/api/ad.py,sha256=F6SrcKPRRalHKOZ7QLwsRWGq9hhykQIeo0b85cEk9NQ,314
|
10
10
|
lino/api/dd.py,sha256=LHooukTaNuxAbhtSdvDNVbI7nkxeU-QTp5Dfz00bmjk,7764
|
11
|
-
lino/api/doctest.py,sha256=
|
11
|
+
lino/api/doctest.py,sha256=fJ97w6rOO7AdlZ5DmgSHuIq-2LfOIbLT_mmslCdI2do,25561
|
12
12
|
lino/api/rt.py,sha256=auN4YoIthkXsjSN09OR6YeaNxSNfUO7E5KyTAvQtjh8,1400
|
13
13
|
lino/api/selenium.py,sha256=07BQuC6KW2tBUlIUcPGeCQHIfogz-wuHJqPshSzLDp0,9384
|
14
14
|
lino/api/shell.py,sha256=epyjwEZ396TiJ0AHqhVIvzX8TBIXU8xR4UHJlYOrRhc,536
|
@@ -27,16 +27,16 @@ lino/config/plugins/eid_jslib.js,sha256=PsJdUICoGK2nR9EbRg-7drI1AoasLWT_d3RInUWH
|
|
27
27
|
lino/config/unused/403.html,sha256=ePwDIUXhz1iD8xXWWyt5xEvpcGIHU4LMnXma8x0ik1c,232
|
28
28
|
lino/config/unused/404.html,sha256=GOJrAyF6NcM69ETdSHgjff_-lvYs_-bOYhyZBem7x3I,220
|
29
29
|
lino/config/unused/500.html,sha256=aWmP37uPoMS-PJgPuBloxdx0nEreU7AvkXxsex3yVYs,544
|
30
|
-
lino/core/__init__.py,sha256=
|
31
|
-
lino/core/actions.py,sha256=
|
32
|
-
lino/core/actors.py,sha256=
|
30
|
+
lino/core/__init__.py,sha256=T7106QxQpa3jXAouGTIer6AXEwpkJ0NAQ9B7Q3-K6qE,686
|
31
|
+
lino/core/actions.py,sha256=iiuEI-MWDCQm7gVZXUP_Xj6pUIoHTEiY7v94n9d6sMs,46435
|
32
|
+
lino/core/actors.py,sha256=4YvHneEinZDqkpiUYR8pChQtOovuTwpVgTRPxa9URIA,71762
|
33
33
|
lino/core/boundaction.py,sha256=tb0C4WwbJpAP3yKbR6OaibzcAkwVs3nfeuD0RjXTjIg,6665
|
34
34
|
lino/core/callbacks.py,sha256=xkosb1l48o6WeSdj82k5udK9OmjI7-p6x4AJFjXiOf8,7518
|
35
|
-
lino/core/choicelists.py,sha256=
|
35
|
+
lino/core/choicelists.py,sha256=cg58Czjr5CkmI3nxvf-usvXlgrUAMsKA4nk6IypoaU4,36513
|
36
36
|
lino/core/classproperty.py,sha256=_E95WPAs7BWbAuFpPvoYM2ZwW_mbq3rvF7o43WsMq_8,4316
|
37
37
|
lino/core/constants.py,sha256=chvG1TrwD2gVMmL4nTOZtO8NcffcclcUv3zBE8mMoiQ,4503
|
38
|
-
lino/core/dashboard.py,sha256=
|
39
|
-
lino/core/dbtables.py,sha256=
|
38
|
+
lino/core/dashboard.py,sha256=jNPLaaR2ZZx6oqwWp0rRhZapuyTVBb7-AtxoF__tgPE,6429
|
39
|
+
lino/core/dbtables.py,sha256=k5fZUUZWbtXldIdGiTkGj9U5DYmsKMQyny7gmowLfRA,29174
|
40
40
|
lino/core/dbutils.py,sha256=_QHcWd-ajLUwt5G8uOp8d47lZQKD3VseHnqKJke18rA,263
|
41
41
|
lino/core/ddh.py,sha256=dYScxWKTOCDEgow7wJNJe812ESasmmITPK2ovraBQno,3172
|
42
42
|
lino/core/diff.py,sha256=XQ-oQQDS_v3kXd4eRP9Hwr5UCgp-TPZIPVav9ZblUno,5882
|
@@ -52,21 +52,20 @@ lino/core/keyboard.py,sha256=imdO-J5npZijtddhM2C7CLo2K6Hp30egsXgOOa4-AqQ,1137
|
|
52
52
|
lino/core/layouts.py,sha256=mr9iJs12GDeI6lBHsnVl0JKh5v1Vtu5tWIY865Lv62g,28528
|
53
53
|
lino/core/menus.py,sha256=BoPtcqtTB1-ADp3ffnzEXyIx8lQ4HLaZWxo0eQrj-T4,10850
|
54
54
|
lino/core/merge.py,sha256=sKtTeZtHdoDKerdHj4NXuXXNzpKDsfdPaiq-CY0NqQc,9094
|
55
|
-
lino/core/model.py,sha256=
|
55
|
+
lino/core/model.py,sha256=RprrvQINUWJEgofovrRSdR5e9QH-8dd2hBVbnpjHwTg,36930
|
56
56
|
lino/core/permissions.py,sha256=Fnemz3NwWz21X0YATI9Q7ba2FcAdg-EMLHjIcbt_AVU,6840
|
57
57
|
lino/core/plugin.py,sha256=xht9x4oXH3cvPm5jg8J5beajf5-B1PP4v0X9RW7d944,6790
|
58
|
-
lino/core/renderer.py,sha256=
|
59
|
-
lino/core/requests.py,sha256
|
58
|
+
lino/core/renderer.py,sha256=krgD8T_dCoQWUXw7aDQNW3S-f6vqB0Du1YpZyO-QB-w,47248
|
59
|
+
lino/core/requests.py,sha256=ZLsiyAI2zNt65nWV3ebrnZWaqarTpZSyS31ba7_a_9A,92177
|
60
60
|
lino/core/roles.py,sha256=PXwk436xUupxdbJcygRSYFu7ixfKjAJPQRUQ8sy0lB0,4425
|
61
61
|
lino/core/signals.py,sha256=0JT89mkjSbRm57QZcSI9DoThoKUGkyi-egNhuLUKEds,948
|
62
62
|
lino/core/site.py,sha256=sUuyTNi9IvJ-BwOW1LbAiRKmAE0xOYpHlJqsDH_ID5E,85443
|
63
|
-
lino/core/store.py,sha256=
|
64
|
-
lino/core/
|
65
|
-
lino/core/tables.py,sha256=UXIZ1CvGZSHkFydFfJ_U-SDauoayImToZB5GR9lGJWw,25492
|
63
|
+
lino/core/store.py,sha256=uMza9XRX3QeIRCWwBOK9w-4pyjruWtJCfSqOV4_kdgA,51338
|
64
|
+
lino/core/tables.py,sha256=FfA3KhGshsR1maNB6B11BbJ4m8cxxIaOhV0jvMxTaJA,25468
|
66
65
|
lino/core/urls.py,sha256=06QlmN1vpxjmb5snO3SPpP6lX1pMdE60bTiBiC77_vQ,2677
|
67
66
|
lino/core/user_types.py,sha256=0iSYmzr2M9v2Mn2y6hzAZeqareUT-gD7l3MfIPyG9ZI,867
|
68
67
|
lino/core/userprefs.py,sha256=cmufIS9xJErKDrw05uoWtQTUR6WRWIGkU1KdAqzNr5M,2850
|
69
|
-
lino/core/utils.py,sha256=
|
68
|
+
lino/core/utils.py,sha256=3JgByh5KIG-WM_JMkZpFEot-HAh6wV7jR2YfVeDl48o,34540
|
70
69
|
lino/core/views.py,sha256=b7q9XOjl8nkBV-ZRcR-swFjcC9BGyanRYM2CsB_A5xc,6959
|
71
70
|
lino/core/widgets.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
72
71
|
lino/core/workflows.py,sha256=9O5INnx3nPW73UmeEPWgN146clQSWwna3Jq_w1MThcg,10567
|
@@ -141,7 +140,7 @@ lino/modlib/bootstrap3/README.txt,sha256=18Z9gPRHMDVh5Ej8kYz7T2emsdO7xx65eBFH8vV
|
|
141
140
|
lino/modlib/bootstrap3/__init__.py,sha256=AhyWB7eaItGf0eaEQTHsB79erCR55LSV0VrIVp3H-p4,2047
|
142
141
|
lino/modlib/bootstrap3/models.py,sha256=IwxKrQPYJFQf2_O5q53tr15koxlhADFCOz3J3xuKj-U,901
|
143
142
|
lino/modlib/bootstrap3/renderer.py,sha256=KfU2K0TyFMg3IKm5F-wUu315P2U4O6DCC5QVdsDyb2s,3018
|
144
|
-
lino/modlib/bootstrap3/views.py,sha256=
|
143
|
+
lino/modlib/bootstrap3/views.py,sha256=otojM05TZL_paHMTVg-M9BpXVYZs4oG94yu-50km8Wc,11674
|
145
144
|
lino/modlib/bootstrap3/config/bootstrap3/base.html,sha256=9xnRcrUbsgTWu_QYYwpir6NBpLR9pFD0uZwcSkZeNgA,4014
|
146
145
|
lino/modlib/bootstrap3/config/bootstrap3/detail.html,sha256=bwzh4kh9wuqAiE3fuby5t4YN5VBclg2R6KbsSYYnaBM,523
|
147
146
|
lino/modlib/bootstrap3/config/bootstrap3/index.html,sha256=FPhdNhHAJmooJw32mAisWN4_7YHaPRGsBlIrbxjjwcc,113
|
@@ -191,7 +190,7 @@ lino/modlib/export_excel/__init__.py,sha256=k11dEbh1VgA7cMaUdMhiJvHNboX4BqN0Z5Wj
|
|
191
190
|
lino/modlib/export_excel/models.py,sha256=OaAkt__l-GaqGLMWQiwXHPJOYABkXHUZ7j9DC7uFE08,5078
|
192
191
|
lino/modlib/extjs/__init__.py,sha256=-TfGa8YR8SWuCHkZ2_pFNVBfOhvVfL5ec4zz6_TWeo4,10170
|
193
192
|
lino/modlib/extjs/ext_renderer.py,sha256=MwvTVZ84pHVoXv1sWG60kkQ3LCbzAdHdZxdEg7BjQPg,60606
|
194
|
-
lino/modlib/extjs/views.py,sha256=
|
193
|
+
lino/modlib/extjs/views.py,sha256=hR5h3bcKEjDjSgFj5-gpkfAhnYccy0J9INdqegyBeVQ,22644
|
195
194
|
lino/modlib/extjs/config/extjs/index.html,sha256=jO5hdNpFSkm9t0xhHD5hc8Hw1fSr6xb3zYq9aMyOI7Q,8603
|
196
195
|
lino/modlib/extjs/config/extjs/linoweb.js,sha256=I4VYGmkK4htqZvHM9g-6psJF3pp7SvgHEI0I02Sxpvo,175127
|
197
196
|
lino/modlib/extjs/config/extjs/service-worker.js,sha256=KEKWeehTlfBHk3r8NbsP9C5av_DukHORybxFOwbjYaQ,1767
|
@@ -3491,7 +3490,7 @@ lino/modlib/extjs/static/filterRow/images/moreOptions.png,sha256=xNWuPzMGJqzfFsY
|
|
3491
3490
|
lino/modlib/forms/__init__.py,sha256=mnqO1aui7njM7XjlC5Fil_1Fmiqz0szvdTer86AZeWE,1183
|
3492
3491
|
lino/modlib/forms/models.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
3493
3492
|
lino/modlib/forms/renderer.py,sha256=KLMAyDPLpWlRCzzQ4F4aS2bs5birR_JaFQu6lQX-ZNk,2406
|
3494
|
-
lino/modlib/forms/views.py,sha256=
|
3493
|
+
lino/modlib/forms/views.py,sha256=L8U8LKFB1bP1q2NiAcRkZvynT_uw7yb93HIwA3TaXTs,10313
|
3495
3494
|
lino/modlib/gfks/__init__.py,sha256=2f34DqbWXWUxE_y_0LqLfkpoyZ-cqQucg4xZkI2H3VY,1247
|
3496
3495
|
lino/modlib/gfks/fields.py,sha256=43yIsudT07bXuKD1Gsqvn15_F3UaeZQqZzuzK9dDdLc,3239
|
3497
3496
|
lino/modlib/gfks/mixins.py,sha256=KE6Hd5Ml71_7zT9Pj5j5r-AGHZV4zkwyNuWh8LcRDug,2468
|
@@ -3569,7 +3568,7 @@ lino/modlib/notify/static/js/push.js/push.min.js,sha256=4DApieALVblKkYJ4endqXGui
|
|
3569
3568
|
lino/modlib/notify/static/js/push.js/push_tests.js,sha256=YHS6BGdg0tflNuzJgLn5jTgfw3oqqrl6n8ASTQWAIR4,7928
|
3570
3569
|
lino/modlib/notify/static/js/push.js/sw.js,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
3571
3570
|
lino/modlib/odata/__init__.py,sha256=k26EMnYYOaS4FoIlsOqlbhRZvBPuTjYyGPyTRfP9YaY,1015
|
3572
|
-
lino/modlib/odata/views.py,sha256=
|
3571
|
+
lino/modlib/odata/views.py,sha256=ssyYYIyGoxXtR3hKnIa-ZBPLb6vxEU5C6XUUQ1L6Z70,7205
|
3573
3572
|
lino/modlib/odata/config/odata/csdl.xml,sha256=KFDImzUA4YI6PL-i5AHnm22eBMLTw-K2iljslDJFQH8,296
|
3574
3573
|
lino/modlib/office/__init__.py,sha256=rOKD9zKt-VBvFFqoHBioNp299Igb1Sk2n466iCt6ASQ,287
|
3575
3574
|
lino/modlib/office/roles.py,sha256=oQWTZ-_9_vssc9QW5A0YspMjG_V5gCiHSU0eE0AIH30,356
|
@@ -3587,7 +3586,7 @@ lino/modlib/publisher/mixins.py,sha256=eMEZeMQdaEp9tDkA5_YdqFGQec1q7Z1DAJZvU1cmo
|
|
3587
3586
|
lino/modlib/publisher/models.py,sha256=dkSy_EaHge0iKZ2-lUIIOdBnLyiIx7CPyO5RxGAmFxY,14388
|
3588
3587
|
lino/modlib/publisher/renderer.py,sha256=9RoyVMQcbwh_GcbDJO8BWhCKe1kpbDc9M45hrMqzpNs,1922
|
3589
3588
|
lino/modlib/publisher/ui.py,sha256=VcxHwefC-u1RcMylu0Zv4hHVPD7m1b1WLIQh9jcQGO8,4434
|
3590
|
-
lino/modlib/publisher/views.py,sha256=
|
3589
|
+
lino/modlib/publisher/views.py,sha256=OCbvBdEP7ELorHsCTnhJa6PtSIcuHONKjq24bnUyiaQ,2135
|
3591
3590
|
lino/modlib/publisher/config/publisher/base.html,sha256=nrWuN4lhP1O4ORdYTaY3fS2pc90yfUnfDYfm2Jtr7hQ,198
|
3592
3591
|
lino/modlib/publisher/config/publisher/default_list.pub.html,sha256=3ePc4U3xZxE-pqtzlnB9CRQWu8OQrtfXKEjyuc8BBUQ,578
|
3593
3592
|
lino/modlib/publisher/config/publisher/item.pub.html,sha256=973RYgCAYG1SYIB4bwfVZFVTUo0WD2I98PsoPgjQ8XA,154
|
@@ -4622,7 +4621,7 @@ lino/utils/pythontest.py,sha256=AA9i3CEWgpbJKNTkxc0Gz94sy1R1MBpyinqrlahKKno,4954
|
|
4622
4621
|
lino/utils/pyuca.py,sha256=YSLpCYEMqKUhx1y0q-ML8Ryu2ARDFO2HyIFxz1DzYEY,4344
|
4623
4622
|
lino/utils/quantities.py,sha256=m_oi647uCTf2NhhQo6ytphZa2jQq1QXIUcts-cLkEJM,7367
|
4624
4623
|
lino/utils/ranges.py,sha256=gXMD3uZBobGnOfn8GXSJ40gtJ7UcxrIOOFWZCk--zXE,3343
|
4625
|
-
lino/utils/report.py,sha256=
|
4624
|
+
lino/utils/report.py,sha256=5l1NkZpcZyd1zpg37MB4Doly9dH9KHBEFarp9Q6vh4w,7983
|
4626
4625
|
lino/utils/requests.py,sha256=vXxsC51FK9FgrqmF9dy3MsmUqJINjSQ_4AmvBiQbGEk,1337
|
4627
4626
|
lino/utils/restify.py,sha256=QMVQXrmjDl6PPC7HJJGeDm125pcvrZKvcMpiscaPrsw,14066
|
4628
4627
|
lino/utils/screenshots.py,sha256=T-szKC3EJfo4JcLio8Jj0xqaoSuJcZG6Jf9EF_B8WDQ,2040
|
@@ -4640,8 +4639,8 @@ lino/utils/xml.py,sha256=4Z44W1e5HvTVrU8erkohgnwqY-5Cr2NHywaAJ5OgRvw,989
|
|
4640
4639
|
lino/utils/mldbc/__init__.py,sha256=QqWRlzeXaOmFfbCk-vTY3SZMn1-FCf67XnpZdd_Nim0,1134
|
4641
4640
|
lino/utils/mldbc/fields.py,sha256=tAX8G5UKigr9c6g0F3ARIjZZtg406mdaZ--PWSbiH9E,2873
|
4642
4641
|
lino/utils/mldbc/mixins.py,sha256=CkYe5jDa7xp9fJq_V8zcZf8ocxgIjUgHc9KZccvA_Yw,1945
|
4643
|
-
lino-24.10.
|
4644
|
-
lino-24.10.
|
4645
|
-
lino-24.10.
|
4646
|
-
lino-24.10.
|
4647
|
-
lino-24.10.
|
4642
|
+
lino-24.10.1.dist-info/METADATA,sha256=N-jOsI2t771g8F3Y9A-Eao7HhyodAp3Q_ojQ6neTJPs,42535
|
4643
|
+
lino-24.10.1.dist-info/WHEEL,sha256=1yFddiXMmvYK7QYTqtRNtX66WJ0Mz8PYEiEUoOUUxRY,87
|
4644
|
+
lino-24.10.1.dist-info/licenses/AUTHORS.rst,sha256=8VEm_G4HOmYEa4oi1nVoKKsdo4JanekEJCefWd2E8vk,981
|
4645
|
+
lino-24.10.1.dist-info/licenses/COPYING,sha256=DZak_2itbUtvHzD3E7GNUYSRK6jdOJ-GqncQ2weavLA,34523
|
4646
|
+
lino-24.10.1.dist-info/RECORD,,
|