lino 25.2.1__py3-none-any.whl → 25.2.3__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 +8 -3
- lino/api/dd.py +13 -0
- lino/api/doctest.py +49 -17
- lino/api/selenium.py +1 -1
- lino/core/actors.py +16 -7
- lino/core/boundaction.py +1 -1
- lino/core/choicelists.py +1 -1
- lino/core/dbtables.py +15 -15
- lino/core/elems.py +1 -1
- lino/core/renderer.py +2 -2
- lino/core/requests.py +49 -13
- lino/core/site.py +5 -5
- lino/help_texts.py +8 -3
- lino/modlib/comments/models.py +1 -1
- lino/modlib/comments/ui.py +1 -1
- lino/modlib/extjs/__init__.py +2 -2
- lino/modlib/extjs/views.py +75 -29
- lino/modlib/help/config/makehelp/conf.tpl.py +1 -1
- lino/modlib/jinja/mixins.py +62 -0
- lino/modlib/jinja/models.py +6 -0
- lino/modlib/linod/fixtures/__init__.py +0 -0
- lino/modlib/linod/fixtures/linod.py +32 -0
- lino/modlib/linod/mixins.py +15 -1
- lino/modlib/memo/mixins.py +11 -3
- lino/modlib/memo/parser.py +1 -1
- lino/modlib/notify/models.py +1 -1
- lino/modlib/printing/actions.py +6 -12
- lino/modlib/printing/choicelists.py +7 -7
- lino/modlib/uploads/__init__.py +9 -6
- lino/modlib/uploads/models.py +3 -3
- lino/modlib/uploads/ui.py +5 -2
- lino/modlib/users/mixins.py +4 -0
- lino/utils/__init__.py +0 -1
- lino/utils/jscompressor.py +4 -4
- lino/utils/restify.py +2 -2
- lino/utils/soup.py +4 -4
- lino/utils/xml.py +19 -5
- {lino-25.2.1.dist-info → lino-25.2.3.dist-info}/METADATA +1 -1
- {lino-25.2.1.dist-info → lino-25.2.3.dist-info}/RECORD +42 -39
- lino/utils/requests.py +0 -55
- {lino-25.2.1.dist-info → lino-25.2.3.dist-info}/WHEEL +0 -0
- {lino-25.2.1.dist-info → lino-25.2.3.dist-info}/licenses/AUTHORS.rst +0 -0
- {lino-25.2.1.dist-info → lino-25.2.3.dist-info}/licenses/COPYING +0 -0
lino/utils/xml.py
CHANGED
@@ -2,14 +2,19 @@
|
|
2
2
|
# Copyright 2013-2024 Rumma & Ko Ltd
|
3
3
|
# License: GNU Affero General Public License v3 (see file COPYING for details)
|
4
4
|
|
5
|
+
import subprocess
|
6
|
+
|
5
7
|
from lxml import etree
|
6
8
|
from lxml import isoschematron
|
7
9
|
|
8
10
|
|
11
|
+
# def validate_xml(doc, xsdfile):
|
9
12
|
def validate_xml(xmlfile, xsdfile):
|
10
13
|
"""
|
11
14
|
|
12
15
|
Validate the given :attr:`xmlfile` using the given :attr:`xsdfile`.
|
16
|
+
Validate the given XML document `doc` using the given :attr:`xsdfile`.
|
17
|
+
The document must be an ElementTree root element.
|
13
18
|
|
14
19
|
When :attr:`xsdfile` ends with :file:`.xsd`, the generated :attr:`xmlfile`
|
15
20
|
file is validated using :class:`lxml.etree.XMLSchema`. When it ends with
|
@@ -19,11 +24,20 @@ def validate_xml(xmlfile, xsdfile):
|
|
19
24
|
|
20
25
|
"""
|
21
26
|
doc = etree.parse(xmlfile)
|
22
|
-
if xsdfile.
|
27
|
+
if xsdfile.suffix == ".xsd":
|
23
28
|
# xsd = etree.XMLSchema(etree.parse(xsdfile))
|
24
29
|
xsd = etree.XMLSchema(file=xsdfile)
|
25
30
|
xsd.assertValid(doc)
|
26
|
-
elif xsdfile.
|
27
|
-
|
28
|
-
|
29
|
-
|
31
|
+
elif xsdfile.suffix == ".sch":
|
32
|
+
if False:
|
33
|
+
jarfile = "/home/luc/Downloads/saxon/saxon-he-12.5.jar"
|
34
|
+
# cmd = ["/usr/bin/java", "-jar", jarfile, "-xsl:", xsdfile, "-s:", xmlfile]
|
35
|
+
cmd = ["/usr/bin/java", "-jar", jarfile, f"-xsd:{xsdfile}", f"-s:{xmlfile}"]
|
36
|
+
cp = subprocess.run(cmd)
|
37
|
+
|
38
|
+
if False:
|
39
|
+
# # sch = etree.parse(xsdfile)
|
40
|
+
# # schematron = isoschematron.Schematron(sch, store_report=True)
|
41
|
+
schematron = isoschematron.Schematron(file=xsdfile, store_report=True)
|
42
|
+
schematron.assertValid(doc)
|
43
|
+
# schematron.validation_report
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: lino
|
3
|
-
Version: 25.2.
|
3
|
+
Version: 25.2.3
|
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,16 +1,16 @@
|
|
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=ZmFiwiiQpJsV0ud-WYVwRBcTY9Ar96t9l7ab9drrkwo,5916
|
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
|
-
lino/help_texts.py,sha256=
|
7
|
+
lino/help_texts.py,sha256=eLDOaWsgFLiJWc-ThRXR9pP85TaRSIi4y1lEpluS7yE,91831
|
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
|
11
|
-
lino/api/doctest.py,sha256=
|
10
|
+
lino/api/dd.py,sha256=pN-c6si_5iEzDq8o5z6i3KszlWky6_HJtKFPF8V6BPc,8398
|
11
|
+
lino/api/doctest.py,sha256=PrmUSTT7AsUjjN0TjvVlzuCJ8ViUUeOq9wz8QXgDhG0,26349
|
12
12
|
lino/api/rt.py,sha256=WX0I7oOJIFtqN1JXK1sVC_OmByY5hct4lDIaELDFkgs,1378
|
13
|
-
lino/api/selenium.py,sha256=
|
13
|
+
lino/api/selenium.py,sha256=bOu8UaNz3Q7lGVvxjmvrtYtSWn1xfI1f5MN5sVcdYr8,9383
|
14
14
|
lino/api/shell.py,sha256=epyjwEZ396TiJ0AHqhVIvzX8TBIXU8xR4UHJlYOrRhc,536
|
15
15
|
lino/config/about.html.tmpl,sha256=Vt3drpxP5f26wb1meXq_Kc8ZUAl_TGfr1bcuWuz-7L4,705
|
16
16
|
lino/config/admin_main.html,sha256=uq179bSDST-ACy0iuOFqMfs501mdwnR7Zw9ICDFZfsc,37
|
@@ -29,18 +29,18 @@ lino/config/unused/404.html,sha256=GOJrAyF6NcM69ETdSHgjff_-lvYs_-bOYhyZBem7x3I,2
|
|
29
29
|
lino/config/unused/500.html,sha256=aWmP37uPoMS-PJgPuBloxdx0nEreU7AvkXxsex3yVYs,544
|
30
30
|
lino/core/__init__.py,sha256=T7106QxQpa3jXAouGTIer6AXEwpkJ0NAQ9B7Q3-K6qE,686
|
31
31
|
lino/core/actions.py,sha256=2QGQYpjQ_Fyvb3wb4TBGj8GO4f857aQ3YX3Uz6u15dw,46622
|
32
|
-
lino/core/actors.py,sha256=
|
33
|
-
lino/core/boundaction.py,sha256=
|
32
|
+
lino/core/actors.py,sha256=n0g1QIg7TWs-Ze8iDBPh6l2vSzcClxIWrSGy_pBUVVk,74121
|
33
|
+
lino/core/boundaction.py,sha256=9LgEsN3pM2DzG28_WZ7DgXKRRMdGW2E5yTVB1uWcsww,6674
|
34
34
|
lino/core/callbacks.py,sha256=uu1-znzxVDD-JETUebw-hYsNg_9ExQb1vfwbc7Psjro,7549
|
35
|
-
lino/core/choicelists.py,sha256=
|
35
|
+
lino/core/choicelists.py,sha256=rR1FutDfYRRJUtBPJPl_aMuy6r6vqmZGkatcCe2wSUg,36519
|
36
36
|
lino/core/classproperty.py,sha256=_E95WPAs7BWbAuFpPvoYM2ZwW_mbq3rvF7o43WsMq_8,4316
|
37
37
|
lino/core/constants.py,sha256=chvG1TrwD2gVMmL4nTOZtO8NcffcclcUv3zBE8mMoiQ,4503
|
38
38
|
lino/core/dashboard.py,sha256=p7EevOgKfyq4I_xs5ToXK_MhoivE-tky9YU4-zzGNMg,6514
|
39
|
-
lino/core/dbtables.py,sha256=
|
39
|
+
lino/core/dbtables.py,sha256=nSZgFOar2-XuDX3U5_BLJb7Im7ZvFcyP2iMQCxSTTaA,29134
|
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
|
43
|
-
lino/core/elems.py,sha256=
|
43
|
+
lino/core/elems.py,sha256=H2MOrEUAIa9Plkvw5ZSSHfZd0KYDG84-R0B1JPXbpI0,108453
|
44
44
|
lino/core/exceptions.py,sha256=QDxDo5cllSyXQ8VWet9hGXzNadxCOmwMVrFXc6V-vpE,665
|
45
45
|
lino/core/fields.py,sha256=C14cCHHJclk0z6NlJFRPyXPJaVS1DhngQLTE6gPR0BE,57407
|
46
46
|
lino/core/frames.py,sha256=ISxgq9zyZfqW3tDZMWdKi9Ij455lT_81qBH0xex0bfE,1161
|
@@ -55,11 +55,11 @@ lino/core/merge.py,sha256=sKtTeZtHdoDKerdHj4NXuXXNzpKDsfdPaiq-CY0NqQc,9094
|
|
55
55
|
lino/core/model.py,sha256=wKxb0bWi_5FgcZn8Pz-bjDGo-5Y1cwOVTZPrJbv5ljQ,36408
|
56
56
|
lino/core/permissions.py,sha256=Fnemz3NwWz21X0YATI9Q7ba2FcAdg-EMLHjIcbt_AVU,6840
|
57
57
|
lino/core/plugin.py,sha256=oVvTsGoBBYmjvRgtyiFPIiHZQErH0ZlNjiUFtOk2dOM,6834
|
58
|
-
lino/core/renderer.py,sha256=
|
59
|
-
lino/core/requests.py,sha256=
|
58
|
+
lino/core/renderer.py,sha256=y79wQnoQ9cdnBmNXWnvPPWiTIrRs5ozyLI6j3T6oPr0,47251
|
59
|
+
lino/core/requests.py,sha256=NGs1uAF0zPkFOtnd3wDvHmfINdAvHbmLEGARdmC3I1w,94529
|
60
60
|
lino/core/roles.py,sha256=PXwk436xUupxdbJcygRSYFu7ixfKjAJPQRUQ8sy0lB0,4425
|
61
61
|
lino/core/signals.py,sha256=0JT89mkjSbRm57QZcSI9DoThoKUGkyi-egNhuLUKEds,948
|
62
|
-
lino/core/site.py,sha256=
|
62
|
+
lino/core/site.py,sha256=kUp5hjW_tLdDugmstIPyk8FEmbxCWBHsVOXQiQBEw-4,83163
|
63
63
|
lino/core/store.py,sha256=eQyahBvsMvX2K_lJvJGSATLV0SGOOCfqpf0JDJprNNw,51351
|
64
64
|
lino/core/tables.py,sha256=VXfUDENJ-Zl6M3tRvEdLr1LGjmJcAmwXUWSG4EWLFDE,24413
|
65
65
|
lino/core/urls.py,sha256=06QlmN1vpxjmb5snO3SPpP6lX1pMdE60bTiBiC77_vQ,2677
|
@@ -175,9 +175,9 @@ lino/modlib/checkdata/management/commands/checkdata.py,sha256=CjtGm26qPxIWgkn5a9
|
|
175
175
|
lino/modlib/comments/__init__.py,sha256=XoRLIB-pSsz4EfA2FhsbKQ27fsW_AAvS7SyA0_vhHv8,1678
|
176
176
|
lino/modlib/comments/choicelists.py,sha256=SIA7P_KwtaayqOJxCkwyZouK0Z23-2v4ZFV9a0Zexnk,3314
|
177
177
|
lino/modlib/comments/mixins.py,sha256=h1VvM4h-6rEixziz0r7vJCptM7T7K6i4r50Scz5riws,4413
|
178
|
-
lino/modlib/comments/models.py,sha256=
|
178
|
+
lino/modlib/comments/models.py,sha256=hS8Q1zLHt4WvlNnlhY8T5eRY14j-iKMDI061uAcAKMw,15893
|
179
179
|
lino/modlib/comments/roles.py,sha256=z3gctvlTa_5PAs-D4pounyzNyuEc31jTFq9g33r6Z1w,751
|
180
|
-
lino/modlib/comments/ui.py,sha256=
|
180
|
+
lino/modlib/comments/ui.py,sha256=2FY5e1Mki1l4QX8d7LOskZ4b_b2_JON9hJQccjWWaKM,9846
|
181
181
|
lino/modlib/comments/config/comments/comments.js,sha256=7oAnNyx_MKM1iWPu-QSp6iKfnOVdgq7EciQPpxTvYU8,242
|
182
182
|
lino/modlib/comments/fixtures/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
183
183
|
lino/modlib/comments/fixtures/demo2.py,sha256=FGsX1_r9h2Zz11wbemkqx_AcFIRmYKMx9TineWs_ic0,25328
|
@@ -188,9 +188,9 @@ lino/modlib/dupable/mixins.py,sha256=B7JRVDRszf7ojFBAeb-Md_fJMc9Sp5u-emLEAtR6s2g
|
|
188
188
|
lino/modlib/dupable/models.py,sha256=0watviKwTiVwlArC54V3IxVVfcB1Yg5kO6ed2xCM9a0,4595
|
189
189
|
lino/modlib/export_excel/__init__.py,sha256=k11dEbh1VgA7cMaUdMhiJvHNboX4BqN0Z5Wj9fV7rWw,469
|
190
190
|
lino/modlib/export_excel/models.py,sha256=OaAkt__l-GaqGLMWQiwXHPJOYABkXHUZ7j9DC7uFE08,5078
|
191
|
-
lino/modlib/extjs/__init__.py,sha256
|
191
|
+
lino/modlib/extjs/__init__.py,sha256=6UBWAWSROwy3DfTXQmVUVJTF6eZ_e2k3BEfE4wtqVhU,10172
|
192
192
|
lino/modlib/extjs/ext_renderer.py,sha256=SwfikRmAi1FbDXQLsWNgzgkGqIePwL0UTLgQbb05pOE,60600
|
193
|
-
lino/modlib/extjs/views.py,sha256=
|
193
|
+
lino/modlib/extjs/views.py,sha256=44sT3PZXXeLy3M7ODtv3ICA2apkR-MZO1LHVPTwagiY,25290
|
194
194
|
lino/modlib/extjs/config/extjs/index.html,sha256=jO5hdNpFSkm9t0xhHD5hc8Hw1fSr6xb3zYq9aMyOI7Q,8603
|
195
195
|
lino/modlib/extjs/config/extjs/linoweb.js,sha256=I4VYGmkK4htqZvHM9g-6psJF3pp7SvgHEI0I02Sxpvo,175127
|
196
196
|
lino/modlib/extjs/config/extjs/service-worker.js,sha256=KEKWeehTlfBHk3r8NbsP9C5av_DukHORybxFOwbjYaQ,1767
|
@@ -3500,7 +3500,7 @@ lino/modlib/help/models.py,sha256=Ik-fkUH8KHiPajar-SYCbuaQGfIbbgfI6-9rMkr1Np8,34
|
|
3500
3500
|
lino/modlib/help/utils.py,sha256=dWmz0huCw7N4ENIsCUoGiXyn3AbkE96jVR4YwyzPjjo,3944
|
3501
3501
|
lino/modlib/help/config/makehelp/actor.tpl.rst,sha256=Yl-ZAWvI93cVFLd7GG-qpn_vkGFvKe3iR0eWBJpHgMc,346
|
3502
3502
|
lino/modlib/help/config/makehelp/actors.tpl.rst,sha256=wXMKYQnlhLi432QggVgRUWGuHRDiSX9NyXSdnSar7Io,249
|
3503
|
-
lino/modlib/help/config/makehelp/conf.tpl.py,sha256=
|
3503
|
+
lino/modlib/help/config/makehelp/conf.tpl.py,sha256=865N8cgHCOsJk-9wJVHNL1A2zDilfFDxx9yd997jZKA,1114
|
3504
3504
|
lino/modlib/help/config/makehelp/copyright.tpl.rst,sha256=0fcF2Mf83HJc50iMbiN_qgx-BgrO1wBOC5bWHKPE0No,138
|
3505
3505
|
lino/modlib/help/config/makehelp/index.tpl.rst,sha256=q3SwIW70McQl5PmRniQvkj8ZaWQnEog9en8EDrE7qBw,281
|
3506
3506
|
lino/modlib/help/config/makehelp/model.tpl.rst,sha256=2wyLT9h5llvm4xwZ5vu6fQoKMNcnNAjHi8Wp6l3-6zE,279
|
@@ -3519,6 +3519,8 @@ lino/modlib/ipdict/models.py,sha256=9-pjj_xXdndhQaQI8sgXcmODxurST_aFcShGwomiYKk,
|
|
3519
3519
|
lino/modlib/jinja/__init__.py,sha256=XSa-e1qZGabl8EmRDKPRtmzgBRole5ZbxAUBR_m-ds0,3418
|
3520
3520
|
lino/modlib/jinja/choicelists.py,sha256=QHjWQWLnJCKSGnLIKeGqnCw41JYvcbTkCeXjBpWh23w,1466
|
3521
3521
|
lino/modlib/jinja/loader.py,sha256=MX027X_UuQPqq0wOUr06QnOkdTzGpksNv0Om1CGp61I,1765
|
3522
|
+
lino/modlib/jinja/mixins.py,sha256=EgRzp7oN_uTD2hYJhb9vXflu5B5AsO-UKu7V61v92fk,2057
|
3523
|
+
lino/modlib/jinja/models.py,sha256=vXNFS78qP-qIzeSmnXJNOpvW_IfH1h6hhPgYjfkvvD0,207
|
3522
3524
|
lino/modlib/jinja/renderer.py,sha256=yywxocrNYSPvUcMjuYw9guiPoq50lfaIKkJOP_PHg5o,6142
|
3523
3525
|
lino/modlib/jinja/config/jinja/status.jinja.rst,sha256=XEsfXd82B0fLsBfds5-pXdeDWVr4ccTv7WyGa9ayigk,312
|
3524
3526
|
lino/modlib/jinja/management/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -3534,17 +3536,19 @@ lino/modlib/languages/fixtures/iso-639-3_20100707.tab,sha256=u8PwI2s8shy0_Val5-s
|
|
3534
3536
|
lino/modlib/linod/__init__.py,sha256=u2XCoHtoGwEpMDLfRnGYxj49s4DWng7vOjRrkS57F00,2607
|
3535
3537
|
lino/modlib/linod/choicelists.py,sha256=Tq3hoK7wHZXR8QruaSkAo1e8vE5qEy1bh5xrb8cPkyw,2147
|
3536
3538
|
lino/modlib/linod/consumers.py,sha256=NMzuLwNDPFyWNtqXXEyDQ3lyoUWniyoVWbRr7URazCM,6451
|
3537
|
-
lino/modlib/linod/mixins.py,sha256=
|
3539
|
+
lino/modlib/linod/mixins.py,sha256=4ID1zhhXbNGB0JRqlStD6qc-mp0SyIQywohcHDZ29Wo,10729
|
3538
3540
|
lino/modlib/linod/models.py,sha256=n3HhwDJr3fLdD3PHLZyeF4wBrfC2CWY_UdsC3Acuv7U,2295
|
3539
3541
|
lino/modlib/linod/routing.py,sha256=FiG0JVqp9TWWkNpl9Y_50UCAJ7ZEImDXkQUhlg4aGL4,2094
|
3540
3542
|
lino/modlib/linod/utils.py,sha256=dE973Xib6Be1DvNsZ0M5wzY_jpkk35R21WKs-jQPorM,339
|
3543
|
+
lino/modlib/linod/fixtures/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
3544
|
+
lino/modlib/linod/fixtures/linod.py,sha256=qCFU2IktRVEdt1lChwu6kZLLnd4Ppfq_x9_2qGYelTY,1173
|
3541
3545
|
lino/modlib/linod/management/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
3542
3546
|
lino/modlib/linod/management/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
3543
3547
|
lino/modlib/linod/management/commands/linod.py,sha256=9-zRm-Xgp3uWj6AlDZpjtzo_TqSPyxIkKIrI_jshxVI,3457
|
3544
3548
|
lino/modlib/memo/__init__.py,sha256=Kghjmlz0y1km6SFq5m9nbDqD3CKfSplj57rso3IevLk,5247
|
3545
|
-
lino/modlib/memo/mixins.py,sha256=
|
3549
|
+
lino/modlib/memo/mixins.py,sha256=Ij_bFcBY_ivo5t2HWArEeRkxIQhg61iP0sTNnhZpRac,11246
|
3546
3550
|
lino/modlib/memo/models.py,sha256=2UbKaixPWCnP1ZkoJx_DDTtltpfYVbU3uJ1hmsZDU8A,3146
|
3547
|
-
lino/modlib/memo/parser.py,sha256=
|
3551
|
+
lino/modlib/memo/parser.py,sha256=YbGf1EdJqTI4rqM05ZPTdufN_-aWeV_Z85Nh47HH8Pw,12996
|
3548
3552
|
lino/modlib/memo/views.py,sha256=H3g_nuiMzguptXLSWaWLJClU7BefXPFn9Rh8UIVVBeg,555
|
3549
3553
|
lino/modlib/notify/__init__.py,sha256=suo7EMVdyTPTPFwuU2KZL25PwIEstTvvR4Turgdz7UE,6926
|
3550
3554
|
lino/modlib/notify/actions.py,sha256=ClRKDjmgx3m43IZ5cx0TdxXN_pU6hLIlo_jCwEW2LhY,2468
|
@@ -3552,7 +3556,7 @@ lino/modlib/notify/api.py,sha256=dIuyn7uRF1dDgoGAqvFQvuJImLl1Q0g79skBJvnXMYs,333
|
|
3552
3556
|
lino/modlib/notify/choicelists.py,sha256=7ZkYNMOXNDfyTvdx8Sn-Gsma9f31o-6G1CtivXmQDmA,1324
|
3553
3557
|
lino/modlib/notify/consumers.py,sha256=YaEAhAi_Oq5ovakuP5DI21YIAMvRqQcf4K8MBilcN2w,1529
|
3554
3558
|
lino/modlib/notify/mixins.py,sha256=oRArn5ZCJ3Ot4OAYXleyDEEkpe-y50qKdJTGmWq8ZHs,3495
|
3555
|
-
lino/modlib/notify/models.py,sha256=
|
3559
|
+
lino/modlib/notify/models.py,sha256=6aZ4gCT-03Szqs-eLLi9UlkCvE2ca8ij-v8qG5OFauI,18731
|
3556
3560
|
lino/modlib/notify/utils.py,sha256=e4TAJr8mgicwEjgyuP-bOiw1VGNA6tVo_hab1q-oSNc,328
|
3557
3561
|
lino/modlib/notify/views.py,sha256=Ar2L_Tv1qqU5giHu2b0h_AKc3utvgfZwda4qncqoBsk,957
|
3558
3562
|
lino/modlib/notify/config/notify/individual.eml,sha256=Ct8fLx7dz_adE_ua8S87dYFSNESCHRbRGx9Ven1MlLI,307
|
@@ -3578,8 +3582,8 @@ lino/modlib/periods/mixins.py,sha256=QQXtu1Z6HjqDlL_xMM98FR7PQGKhYgjslhusOiWwPDA
|
|
3578
3582
|
lino/modlib/periods/models.py,sha256=hu1myxDqrBMIiORNYWBpAIDz-WjDe3LmF2JhrvG6DeI,8444
|
3579
3583
|
lino/modlib/periods/fixtures/std.py,sha256=iV6a2DNAhfYvO1VspGkcncEmygHK94zWdDZlHUY8JSw,881
|
3580
3584
|
lino/modlib/printing/__init__.py,sha256=u1fq44d073-IDH_t8hWs1sQdlAHdsCP85sfEOMSW5L4,689
|
3581
|
-
lino/modlib/printing/actions.py,sha256=
|
3582
|
-
lino/modlib/printing/choicelists.py,sha256=
|
3585
|
+
lino/modlib/printing/actions.py,sha256=kWJPZxnFfiBDGV80bsCskChhFgiVEdIscBNy71Nlsqs,11413
|
3586
|
+
lino/modlib/printing/choicelists.py,sha256=nrBZoUfPGzE6Z5xqNB9b5XMcdObptoy2xUtLX9Y-0u4,9599
|
3583
3587
|
lino/modlib/printing/mixins.py,sha256=XjcY5brF_1GxsECLCdOys7YBvUA4NNcGmpKAv3Q508k,8269
|
3584
3588
|
lino/modlib/printing/models.py,sha256=fd-BEKSLpgxPnkh9U7fg2tjNy39exBi3xJC9VzJuXdU,185
|
3585
3589
|
lino/modlib/printing/utils.py,sha256=LUO9769wJvHCPZIqeVQ9XAS6UKJ6BfJbiwO8Dt1kHc4,737
|
@@ -4388,15 +4392,15 @@ lino/modlib/tinymce/static/tinymce-4.1.10/skins/lightgray/img/loader.gif,sha256=
|
|
4388
4392
|
lino/modlib/tinymce/static/tinymce-4.1.10/skins/lightgray/img/object.gif,sha256=5qFeUrxKF7CFBzuo3r1HCOrWrj1MvrOIDGXLevxIl3c,152
|
4389
4393
|
lino/modlib/tinymce/static/tinymce-4.1.10/skins/lightgray/img/trans.gif,sha256=nPAg18O7p_WrEM2lSqvvk0-QbU-aOs-Z6efcbJhXljU,43
|
4390
4394
|
lino/modlib/tinymce/static/tinymce-4.1.10/themes/modern/theme.min.js,sha256=w41NrMzqdGEDk6OhjeuElBHlIr5Ntt_QpdoxNRFXa3Q,6431
|
4391
|
-
lino/modlib/uploads/__init__.py,sha256=
|
4395
|
+
lino/modlib/uploads/__init__.py,sha256=1WyOe8TQtevW18yo1J8rAR7rfl6l08BQvGlWPeYkXkg,2798
|
4392
4396
|
lino/modlib/uploads/actions.py,sha256=lSdMmMmFaJRkJ2JkMX0aOVFNiisGVcI3PP3WqSQmK1E,1402
|
4393
4397
|
lino/modlib/uploads/choicelists.py,sha256=RVKLCEDly9VUa183ul5U9DRla8yOkMxrP4qMjTC5410,1327
|
4394
4398
|
lino/modlib/uploads/dummy_upload.odt,sha256=VHG2YkykCg8VqoXx8Hm37QYunvdbmg_jCyygiZseKF8,10447
|
4395
4399
|
lino/modlib/uploads/dummy_upload.pdf,sha256=hdAx7s3V10lqVekSGugzkn_Hqxx3V4OkCNVNQI2OsFY,18730
|
4396
4400
|
lino/modlib/uploads/mixins.py,sha256=4CSTEDU0ZBfdCV5RqV9SGc3r0rH7TlaGdB7tGGlVN-o,8000
|
4397
|
-
lino/modlib/uploads/models.py,sha256=
|
4401
|
+
lino/modlib/uploads/models.py,sha256=QchFTuGQo4_wiOPiUwJgkPzzeh9OY0EBEMlH7BpOFSQ,16554
|
4398
4402
|
lino/modlib/uploads/roles.py,sha256=ae0wf_vC4O6MffDx8abpjW1M2oWOp5VzOvt_ckk72Cc,191
|
4399
|
-
lino/modlib/uploads/ui.py,sha256=
|
4403
|
+
lino/modlib/uploads/ui.py,sha256=CPix0Nbnq-CuUnuqhT_G8AemMjhV-hjJTsM4_tU_psM,8549
|
4400
4404
|
lino/modlib/uploads/utils.py,sha256=MQAJbI5sUe0RCXCrkxpNKUJFxHpz1bOMqKQy3QsA76o,3343
|
4401
4405
|
lino/modlib/uploads/fixtures/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
4402
4406
|
lino/modlib/uploads/fixtures/demo.py,sha256=igZevIAwJFjt5y90lnkzVnaWYgZLxmEtOFuFQA7TbDE,1665
|
@@ -4404,7 +4408,7 @@ lino/modlib/uploads/fixtures/demo3.py,sha256=q0bwZrx5XtRsRlFpsa33fL0sCl7IdCYaP9E
|
|
4404
4408
|
lino/modlib/users/__init__.py,sha256=40f-PheIyHqAzGXQbkvEKAnZ9_bb8RkaLAKIqNE96qg,3215
|
4405
4409
|
lino/modlib/users/actions.py,sha256=Nik2CoxKZWoGIsPT50mWESzHSTQx9WiBXWG64CUFyS8,18074
|
4406
4410
|
lino/modlib/users/choicelists.py,sha256=-X76C1NxIs5e7rFHp5Z0kjJkA1NlOP2vdLKGkI2wZRU,3876
|
4407
|
-
lino/modlib/users/mixins.py,sha256=
|
4411
|
+
lino/modlib/users/mixins.py,sha256=muW6-LwHF2L6uvGO0h3qIh1_SeJrgaeooPvjqBiXbAI,14277
|
4408
4412
|
lino/modlib/users/models.py,sha256=tdROzvtd3cMxsXKtYZjcUv2XJU7hQLbyBCiE0zVvaOo,16470
|
4409
4413
|
lino/modlib/users/roles.py,sha256=yi29ELbWU1VtteGARaxetxmsCkZQHA2oJiD0dXujMiE,320
|
4410
4414
|
lino/modlib/users/ui.py,sha256=WA1bqVx1Z4yQzydHhvw_d5yE-teKdkHqd36ynz9ivPk,13127
|
@@ -4595,7 +4599,7 @@ lino/templates_old/404.html,sha256=9O5EJgULwLws0X1LjNig3xT4l9Hw04MBIGswD-EAlnw,2
|
|
4595
4599
|
lino/templates_old/500.html,sha256=inOR744w4FGJM_fCSQcnlk-OIYQpaBTxUQWgXQozon4,496
|
4596
4600
|
lino/templates_old/base.html,sha256=qYqj5-u1UPtpatrFkqBr3MnwS0oFUXCyQRcuNZczDfk,1641
|
4597
4601
|
lino/templates_old/base_site.html,sha256=NcLEk0kBT1b-SrhoGpDPUej7NExqJ9-dP1kbrvwBzrs,255
|
4598
|
-
lino/utils/__init__.py,sha256=
|
4602
|
+
lino/utils/__init__.py,sha256=Z7ilNYzd2gJpx5XyE70UvrFsi7jQI7JxvlTO0txpUw0,18364
|
4599
4603
|
lino/utils/addressable.py,sha256=o7bmLbyvrmOoAT478s7XqjWKvnZ7zSXj4k7Xf0ccqf8,2213
|
4600
4604
|
lino/utils/ajax.py,sha256=npCS0WumhTQlBzXxQPKnp2sYCRcPsYcbFqzE2ykVc4Q,3254
|
4601
4605
|
lino/utils/choosers.py,sha256=9jjeLz-QcWVBfR8_GdY4PNYoqIYM63OI3OvOL2l1ZaU,17604
|
@@ -4616,7 +4620,7 @@ lino/utils/html2odf.py,sha256=Hxw4HiIHY1ZCjb4_JLykVHbr6yAMhhHrnrCnLNDYKAs,4826
|
|
4616
4620
|
lino/utils/html2xhtml.py,sha256=fvrIoLBFpiXtYO3UYaIgAIDjf6ATvrxolQX4etxS57Y,2119
|
4617
4621
|
lino/utils/instantiator.py,sha256=BKgcig5Cgt7paAq4ouZNuQct9o9BEd3LbrAyQx1E3KQ,6995
|
4618
4622
|
lino/utils/jinja.py,sha256=1FZgWNKEP9wcokFuIfYysl_VD5mwVHxBHtpnmO17nRQ,1444
|
4619
|
-
lino/utils/jscompressor.py,sha256=
|
4623
|
+
lino/utils/jscompressor.py,sha256=j9UTaaPCfRZLrWUh6PBp0KDDM0QshG7XAFzp-R_elOs,5225
|
4620
4624
|
lino/utils/jsgen.py,sha256=yN0uUNFp4FCxsSPJBDsdkvtAJVL50f7CpW4hR31Rm4k,15215
|
4621
4625
|
lino/utils/latex.py,sha256=cv5rJjtcslTVoRNjAmlUd2CCpC0GPO-YnvJgNJJe0R8,2218
|
4622
4626
|
lino/utils/mdbtools.py,sha256=R1LHskyDLtwBcYRDA14PU2XeSku9gRUIV52f4Sr-Hto,5310
|
@@ -4631,12 +4635,11 @@ lino/utils/pyuca.py,sha256=YSLpCYEMqKUhx1y0q-ML8Ryu2ARDFO2HyIFxz1DzYEY,4344
|
|
4631
4635
|
lino/utils/quantities.py,sha256=m_oi647uCTf2NhhQo6ytphZa2jQq1QXIUcts-cLkEJM,7367
|
4632
4636
|
lino/utils/ranges.py,sha256=wVsZMe3dlaRYWWELXCGSK2DvjBfW4eLbAwpQVYqzj3g,3303
|
4633
4637
|
lino/utils/report.py,sha256=5l1NkZpcZyd1zpg37MB4Doly9dH9KHBEFarp9Q6vh4w,7983
|
4634
|
-
lino/utils/
|
4635
|
-
lino/utils/restify.py,sha256=QMVQXrmjDl6PPC7HJJGeDm125pcvrZKvcMpiscaPrsw,14066
|
4638
|
+
lino/utils/restify.py,sha256=AbVCBjM9V9rYuFweV1gVo9ObO8lblJbA-mKjaPsebRE,14068
|
4636
4639
|
lino/utils/screenshots.py,sha256=T-szKC3EJfo4JcLio8Jj0xqaoSuJcZG6Jf9EF_B8WDQ,2040
|
4637
4640
|
lino/utils/sendchanges.py,sha256=fcSqRyI3l8sEf9_LSqIyWGML6CORoYkjcFp2bs-YNlY,7097
|
4638
4641
|
lino/utils/socks.py,sha256=0d67FDbrJ7PXl4AYzNNZgwCzV-fzIAAtWGxMEB7dw78,538
|
4639
|
-
lino/utils/soup.py,sha256=
|
4642
|
+
lino/utils/soup.py,sha256=15pEuwtFHrALLG3BzfC9kozMSq8jrewYbonsAofPUz8,10761
|
4640
4643
|
lino/utils/sql.py,sha256=kwCgv5E3n7uLjpXOEiaF2W2p8LeGXcP39xgtnqvzTP8,6795
|
4641
4644
|
lino/utils/sqllog.py,sha256=kUCnBfFjExhItJ1w76WT9VWPaWWq8NQM-kSIMIIZnRU,3282
|
4642
4645
|
lino/utils/ssin.py,sha256=Wo-9M0pG0uEYEGvmz8N--iRIqJe3ETtgLOXoung7qlE,4232
|
@@ -4645,12 +4648,12 @@ lino/utils/textfields.py,sha256=suTUK_zwTcxT1eHWAlif_AoRXxG_0AW6JhdbOv1zDSQ,2239
|
|
4645
4648
|
lino/utils/ucsv.py,sha256=KjhGh7K_yxQOM0gHWjn4BjPdi_1aLPHkem5J8nNCqD4,2235
|
4646
4649
|
lino/utils/watch.py,sha256=cZiiR8BRvuKxT_mzPFEoQWZyYKbRYqbi7TqNHD6HsZ4,83
|
4647
4650
|
lino/utils/weekly.py,sha256=t4WZAmAy0Z-siaMEaYgVQh1VDNKXtEa-wgLDXd52BtU,1577
|
4648
|
-
lino/utils/xml.py,sha256=
|
4651
|
+
lino/utils/xml.py,sha256=EGDnO1UaREst9fS7KTESdbHnrrVCwKbRQdvut6B6GmQ,1612
|
4649
4652
|
lino/utils/mldbc/__init__.py,sha256=QqWRlzeXaOmFfbCk-vTY3SZMn1-FCf67XnpZdd_Nim0,1134
|
4650
4653
|
lino/utils/mldbc/fields.py,sha256=tAX8G5UKigr9c6g0F3ARIjZZtg406mdaZ--PWSbiH9E,2873
|
4651
4654
|
lino/utils/mldbc/mixins.py,sha256=CkYe5jDa7xp9fJq_V8zcZf8ocxgIjUgHc9KZccvA_Yw,1945
|
4652
|
-
lino-25.2.
|
4653
|
-
lino-25.2.
|
4654
|
-
lino-25.2.
|
4655
|
-
lino-25.2.
|
4656
|
-
lino-25.2.
|
4655
|
+
lino-25.2.3.dist-info/METADATA,sha256=TfT4Umplqu13p1S1S6vhTC9gow_fNMceRtYfc5UTE_s,42534
|
4656
|
+
lino-25.2.3.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
4657
|
+
lino-25.2.3.dist-info/licenses/AUTHORS.rst,sha256=8VEm_G4HOmYEa4oi1nVoKKsdo4JanekEJCefWd2E8vk,981
|
4658
|
+
lino-25.2.3.dist-info/licenses/COPYING,sha256=DZak_2itbUtvHzD3E7GNUYSRK6jdOJ-GqncQ2weavLA,34523
|
4659
|
+
lino-25.2.3.dist-info/RECORD,,
|
lino/utils/requests.py
DELETED
@@ -1,55 +0,0 @@
|
|
1
|
-
# Copyright 2009 Rumma & Ko Ltd
|
2
|
-
# License: GNU Affero General Public License v3 (see file COPYING for details)
|
3
|
-
|
4
|
-
import os
|
5
|
-
|
6
|
-
|
7
|
-
def again(request, *args, **kw):
|
8
|
-
get = request.GET.copy()
|
9
|
-
for k, v in list(kw.items()):
|
10
|
-
if v is None: # value None means "remove this key"
|
11
|
-
if k in get:
|
12
|
-
del get[k]
|
13
|
-
else:
|
14
|
-
get[k] = v
|
15
|
-
path = request.path
|
16
|
-
if len(args):
|
17
|
-
path += "/" + "/".join(args)
|
18
|
-
path = os.path.normpath(path)
|
19
|
-
path = path.replace("\\", "/")
|
20
|
-
s = get.urlencode()
|
21
|
-
if len(s):
|
22
|
-
path += "?" + s
|
23
|
-
# print pth
|
24
|
-
return path
|
25
|
-
|
26
|
-
|
27
|
-
def get_redirect(request):
|
28
|
-
if hasattr(request, "redirect_to"):
|
29
|
-
return request.redirect_to
|
30
|
-
|
31
|
-
|
32
|
-
def redirect_to(request, url):
|
33
|
-
request.redirect_to = url
|
34
|
-
|
35
|
-
|
36
|
-
# ~ def is_editing(request):
|
37
|
-
# ~ editing = request.GET.get("editing",None)
|
38
|
-
# ~ if editing is None:
|
39
|
-
# ~ path = request.session.get("editing",None)
|
40
|
-
# ~ else:
|
41
|
-
# ~ editing = int(editing)
|
42
|
-
# ~ if editing:
|
43
|
-
# ~ request.session["editing"] = path = request.path
|
44
|
-
# ~ else:
|
45
|
-
# ~ request.session["editing"] = path = None
|
46
|
-
# ~ if request.path == path:
|
47
|
-
# ~ return True
|
48
|
-
# ~ request.session["editing"] = None
|
49
|
-
# ~ return False
|
50
|
-
|
51
|
-
# ~ def stop_editing(request):
|
52
|
-
# ~ request.session["editing"] = None
|
53
|
-
|
54
|
-
# ~ def start_editing(request):
|
55
|
-
# ~ request.session["editing"] = request.path
|
File without changes
|
File without changes
|
File without changes
|