lino 25.4.2__py3-none-any.whl → 25.4.4__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/kernel.py +33 -7
- lino/core/renderer.py +3 -3
- lino/core/site.py +10 -36
- lino/help_texts.py +3 -3
- lino/management/commands/demotest.py +16 -22
- lino/mixins/__init__.py +5 -5
- lino/mixins/dupable.py +2 -4
- lino/mixins/registrable.py +5 -2
- lino/modlib/about/models.py +2 -2
- lino/modlib/checkdata/choicelists.py +4 -4
- lino/modlib/checkdata/models.py +11 -3
- lino/modlib/comments/fixtures/demo2.py +4 -0
- lino/modlib/comments/models.py +1 -1
- lino/modlib/dupable/mixins.py +3 -5
- lino/modlib/extjs/ext_renderer.py +1 -1
- lino/modlib/extjs/views.py +1 -1
- lino/modlib/help/fixtures/demo2.py +3 -2
- lino/modlib/jinja/mixins.py +18 -5
- lino/modlib/linod/models.py +1 -1
- lino/modlib/linod/routing.py +49 -46
- lino/modlib/memo/mixins.py +3 -2
- lino/modlib/notify/api.py +33 -14
- lino/modlib/notify/mixins.py +4 -3
- lino/modlib/printing/mixins.py +1 -1
- lino/modlib/publisher/choicelists.py +41 -20
- lino/modlib/publisher/config/publisher/page.pub.html +24 -0
- lino/modlib/publisher/fixtures/demo2.py +12 -0
- lino/modlib/publisher/fixtures/std.py +2 -1
- lino/modlib/publisher/fixtures/synodalworld.py +17 -0
- lino/modlib/publisher/mixins.py +7 -0
- lino/modlib/publisher/models.py +77 -7
- lino/modlib/publisher/ui.py +5 -5
- lino/modlib/publisher/views.py +9 -2
- lino/modlib/system/models.py +1 -1
- lino/modlib/uploads/models.py +2 -2
- lino/static/bootstrap.css +1 -1
- lino/utils/dbfreader.py +64 -32
- lino/utils/dbhash.py +3 -2
- {lino-25.4.2.dist-info → lino-25.4.4.dist-info}/METADATA +1 -1
- {lino-25.4.2.dist-info → lino-25.4.4.dist-info}/RECORD +44 -43
- lino/management/commands/monitor.py +0 -160
- {lino-25.4.2.dist-info → lino-25.4.4.dist-info}/WHEEL +0 -0
- {lino-25.4.2.dist-info → lino-25.4.4.dist-info}/licenses/AUTHORS.rst +0 -0
- {lino-25.4.2.dist-info → lino-25.4.4.dist-info}/licenses/COPYING +0 -0
lino/modlib/uploads/models.py
CHANGED
@@ -285,7 +285,7 @@ class UploadChecker(Checker):
|
|
285
285
|
verbose_name = _("Check metadata of upload files")
|
286
286
|
model = "uploads.Upload"
|
287
287
|
|
288
|
-
def get_checkdata_problems(self, obj, fix=False):
|
288
|
+
def get_checkdata_problems(self, ar, obj, fix=False):
|
289
289
|
if obj.file:
|
290
290
|
if not exists(join(settings.MEDIA_ROOT, obj.file.name)):
|
291
291
|
yield (
|
@@ -311,7 +311,7 @@ UploadChecker.activate()
|
|
311
311
|
class UploadsFolderChecker(Checker):
|
312
312
|
verbose_name = _("Find orphaned files in uploads folder")
|
313
313
|
|
314
|
-
def get_checkdata_problems(self, obj, fix=False):
|
314
|
+
def get_checkdata_problems(self, ar, obj, fix=False):
|
315
315
|
assert obj is None # this is an unbound checker
|
316
316
|
Upload = rt.models.uploads.Upload
|
317
317
|
pth = dd.plugins.uploads.uploads_root
|
lino/static/bootstrap.css
CHANGED
lino/utils/dbfreader.py
CHANGED
@@ -9,9 +9,10 @@ DBF and DBT files when both settings :attr:`use_dbfread
|
|
9
9
|
<lino_xl.lib.tim2lino.Plugin.use_dbf_py>` are `False` (which is default).
|
10
10
|
|
11
11
|
Based on original work by Lars Garshol
|
12
|
-
|
12
|
+
https://www.garshol.priv.no/download/software/python/dbfreader.py
|
13
13
|
|
14
|
-
Modified by Luc Saffre to add support for Clipper dialect.
|
14
|
+
Modified by Luc Saffre to add support for Clipper dialect. And to work under
|
15
|
+
Python 3. And to support char fields longer than 255 characters.
|
15
16
|
|
16
17
|
Sources of information:
|
17
18
|
|
@@ -20,6 +21,7 @@ Sources of information:
|
|
20
21
|
|
21
22
|
`Xbase & dBASE File Format Description by Erik Bachmann
|
22
23
|
<https://www.clicketyclick.dk/databases/xbase/format/>`__
|
24
|
+
|
23
25
|
"""
|
24
26
|
|
25
27
|
import datetime
|
@@ -37,16 +39,11 @@ codepages = {
|
|
37
39
|
|
38
40
|
|
39
41
|
def unpack_long(number):
|
40
|
-
|
41
|
-
return number[0] + 256 * (
|
42
|
-
number[1] + 256 * (number[2] + 256 * number[3])
|
43
|
-
)
|
42
|
+
return number[0] + 256 * (number[1] + 256 * (number[2] + 256 * number[3]))
|
44
43
|
|
45
44
|
|
46
45
|
def unpack_long_rev(number):
|
47
|
-
return number[3] + 256 * (
|
48
|
-
number[2] + 256 * (number[1] + 256 * number[0])
|
49
|
-
)
|
46
|
+
return number[3] + 256 * (number[2] + 256 * (number[1] + 256 * number[0]))
|
50
47
|
|
51
48
|
|
52
49
|
def unpack_int(number):
|
@@ -64,6 +61,7 @@ def hex_analyze(number):
|
|
64
61
|
|
65
62
|
# --- A class for the entire file
|
66
63
|
|
64
|
+
|
67
65
|
class DBFFile(object):
|
68
66
|
"Represents a single DBF file."
|
69
67
|
|
@@ -88,7 +86,10 @@ class DBFFile(object):
|
|
88
86
|
day = header[3]
|
89
87
|
self.lastUpdate = datetime.date(year, month, day)
|
90
88
|
# print(f"20250123 Loading {filename} (last updated {self.lastUpdate})")
|
89
|
+
|
90
|
+
# Number of records in data file:
|
91
91
|
self.rec_num = unpack_long(header[4:8])
|
92
|
+
# length of header structure. Stored as binary (little endian), unsigned:
|
92
93
|
self.first_rec = unpack_int(header[8:10])
|
93
94
|
self.rec_len = unpack_int(header[10:12])
|
94
95
|
self.codepage = codepage # s[header[29]]
|
@@ -99,13 +100,21 @@ class DBFFile(object):
|
|
99
100
|
while 1:
|
100
101
|
ch = infile.read(1)
|
101
102
|
# if ch == 0x0D:
|
102
|
-
if ch == b'\r':
|
103
|
+
# if ch == b'\r':
|
104
|
+
if ch == b'\x0D':
|
103
105
|
break
|
104
106
|
field = DBFField(ch + infile.read(31), self)
|
105
107
|
self.fields[field.name] = field
|
106
108
|
self.field_list.append(field)
|
107
109
|
# if len(self.field_list) > 20:
|
108
110
|
# sys.exit(1)
|
111
|
+
# print(f"20250423 {self.field_list}")
|
112
|
+
# n = 0
|
113
|
+
# for fld in self.field_list:
|
114
|
+
# print(f"20250423 {fld.name} {fld.field_type} {
|
115
|
+
# fld.field_len} {fld.field_places}")
|
116
|
+
# n += fld.get_len()
|
117
|
+
# print(f"20250423 {n}")
|
109
118
|
|
110
119
|
infile.close()
|
111
120
|
if self.has_memo():
|
@@ -155,8 +164,11 @@ class DBFFile(object):
|
|
155
164
|
def get_next_record(self):
|
156
165
|
values = {}
|
157
166
|
ch = self.infile.read(1)
|
167
|
+
if len(ch) == 0:
|
168
|
+
raise Exception("Unexpected end of file")
|
158
169
|
self.recno += 1
|
159
|
-
if ch == 0x1A or len(ch) == 0:
|
170
|
+
# if ch == 0x1A or len(ch) == 0:
|
171
|
+
if ch == b'\x1A':
|
160
172
|
return None
|
161
173
|
if ch == b"*":
|
162
174
|
deleted = True
|
@@ -170,6 +182,7 @@ class DBFFile(object):
|
|
170
182
|
values[field.get_name()] = field.interpret(data)
|
171
183
|
if deleted and not self.deleted:
|
172
184
|
return self.get_next_record()
|
185
|
+
# print(f"20250423 found {values}")
|
173
186
|
return DBFRecord(self, values, deleted)
|
174
187
|
|
175
188
|
def close(self):
|
@@ -255,11 +268,25 @@ class DBFField(object):
|
|
255
268
|
self.name = buf[:pos].decode()
|
256
269
|
# print(f"20250123 field {self.name}")
|
257
270
|
self.field_type = chr(buf[11])
|
258
|
-
self.field_pos = unpack_long(buf[12:16])
|
271
|
+
# self.field_pos = unpack_long(buf[12:16])
|
272
|
+
# self.field_pos_raw = buf[12:16]
|
259
273
|
self.field_len = buf[16]
|
260
|
-
self.
|
274
|
+
if self.field_type == "C":
|
275
|
+
self.field_places = 0
|
276
|
+
self.field_len += 256 * buf[17]
|
277
|
+
# https://www.clicketyclick.dk/databases/xbase/format/data_types.html
|
278
|
+
# Character fields can be up to 32 KB long (in Clipper and FoxPro)
|
279
|
+
# using decimal count (field_places) as high byte in field length.
|
280
|
+
# It's possible to use up to 64KB long fields by reading length as
|
281
|
+
# unsigned.
|
282
|
+
else:
|
283
|
+
self.field_places = buf[17]
|
261
284
|
self.dbf = dbf
|
262
285
|
|
286
|
+
def __repr__(self):
|
287
|
+
return (f"DBFField({self.name}, {self.field_type}, "
|
288
|
+
f"{self.field_len}, {self.field_places})")
|
289
|
+
|
263
290
|
# if self.field_type=="M" or self.field_type=="P" or \
|
264
291
|
# self.field_type=="G" :
|
265
292
|
# self.blockfile=blockfile
|
@@ -267,8 +294,8 @@ class DBFField(object):
|
|
267
294
|
def get_name(self):
|
268
295
|
return self.name
|
269
296
|
|
270
|
-
def get_pos(self):
|
271
|
-
|
297
|
+
# def get_pos(self):
|
298
|
+
# return self.field_pos
|
272
299
|
|
273
300
|
def get_type(self):
|
274
301
|
return self.field_type
|
@@ -283,7 +310,7 @@ class DBFField(object):
|
|
283
310
|
# raise Exception("20250123 good")
|
284
311
|
# print(f"20250123 interpret {repr(self.field_type)}")
|
285
312
|
if self.field_type == "C":
|
286
|
-
if
|
313
|
+
if self.dbf.codepage is not None:
|
287
314
|
data = data.decode(self.dbf.codepage)
|
288
315
|
data = data.strip()
|
289
316
|
# ~ if len(data) == 0: return None
|
@@ -301,6 +328,8 @@ class DBFField(object):
|
|
301
328
|
# ~ return None
|
302
329
|
return ""
|
303
330
|
raise Exception("bad memo block number %s" % repr(data))
|
331
|
+
# print("20250422 bad memo block number %s" % repr(data))
|
332
|
+
# return ""
|
304
333
|
return self.dbf.blockfile.get_block(num)
|
305
334
|
|
306
335
|
elif self.field_type == "N":
|
@@ -316,7 +345,10 @@ class DBFField(object):
|
|
316
345
|
try:
|
317
346
|
return dateparser.parse(data)
|
318
347
|
except ValueError as e:
|
319
|
-
raise ValueError("Invalid date value %r (%s)" %
|
348
|
+
raise ValueError("Invalid date value %r (%s) in field %s" %
|
349
|
+
(data, e, self.name))
|
350
|
+
# print("20250422 Invalid date value %r (%s) in field %s" %
|
351
|
+
# (data, e, self.name))
|
320
352
|
# ~ return data # string "YYYYMMDD", use the time module or mxDateTime
|
321
353
|
else:
|
322
354
|
raise NotImplementedError("Unknown data type " + self.field_type)
|
@@ -401,21 +433,21 @@ class DBTFile(object):
|
|
401
433
|
# primary key
|
402
434
|
|
403
435
|
|
404
|
-
class DBFHash(object):
|
405
|
-
|
406
|
-
|
407
|
-
|
408
|
-
|
409
|
-
|
410
|
-
|
411
|
-
|
412
|
-
|
413
|
-
|
414
|
-
|
415
|
-
|
416
|
-
|
417
|
-
|
418
|
-
|
436
|
+
# class DBFHash(object):
|
437
|
+
# def __init__(self, file, key):
|
438
|
+
# self.file = DBFFile(file)
|
439
|
+
# self.hash = {}
|
440
|
+
# self.key = key
|
441
|
+
#
|
442
|
+
# self.file.open()
|
443
|
+
# while 1:
|
444
|
+
# rec = self.file.get_next_record()
|
445
|
+
# if rec is None:
|
446
|
+
# break
|
447
|
+
# self.hash[rec[self.key]] = rec
|
448
|
+
#
|
449
|
+
# def __getitem__(self, key):
|
450
|
+
# return self.hash[key]
|
419
451
|
|
420
452
|
|
421
453
|
# --- Utility functions
|
lino/utils/dbhash.py
CHANGED
@@ -14,8 +14,9 @@ from django.conf import settings
|
|
14
14
|
from django.apps import apps
|
15
15
|
from django.db.models.deletion import ProtectedError
|
16
16
|
|
17
|
-
mod = import_module(settings.SETTINGS_MODULE)
|
18
|
-
HASH_FILE = Path(mod.__file__).parent / "dbhash.json"
|
17
|
+
# mod = import_module(settings.SETTINGS_MODULE)
|
18
|
+
# HASH_FILE = Path(mod.__file__).parent / "dbhash.json"
|
19
|
+
HASH_FILE = settings.SITE.site_dir / "dbhash.json"
|
19
20
|
|
20
21
|
|
21
22
|
def fmn(m):
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: lino
|
3
|
-
Version: 25.4.
|
3
|
+
Version: 25.4.4
|
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,10 +1,10 @@
|
|
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=UvUTsw4pGmG-8l3eqcbQdedQ1jGLYfZdqOF3no5VCZI,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
|
-
lino/help_texts.py,sha256=
|
7
|
+
lino/help_texts.py,sha256=n0cYycLTZFF72ybnYAwMkF-FxpLPyS4fNxQaUNpNTAQ,91428
|
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=-mxiSJS27LGCWyOgboA8qDudTkE9vg9vmUGOT08Hq6A,7410
|
@@ -47,7 +47,7 @@ lino/core/frames.py,sha256=ISxgq9zyZfqW3tDZMWdKi9Ij455lT_81qBH0xex0bfE,1161
|
|
47
47
|
lino/core/gfks.py,sha256=6VXn2FSIXOrwVq0stfbPevT37EWg1tg4Fn-HMNVnbmk,1970
|
48
48
|
lino/core/help.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
49
49
|
lino/core/inject.py,sha256=Qd_PGEn0yMXNYVPI0wCv1vvo2CNdlPkyoBmKZELOtGM,13422
|
50
|
-
lino/core/kernel.py,sha256=
|
50
|
+
lino/core/kernel.py,sha256=oeBQb5rbsSKWPXW67gHRTup5IXKGBptVbPAfiUjHVog,47664
|
51
51
|
lino/core/keyboard.py,sha256=W3jA6qtB5HMppoNnd_6PgIM7ZlyHilJEhBvdeZTY7Xk,1283
|
52
52
|
lino/core/layouts.py,sha256=Wojx5UUyhy7PsZE8FWmiXcmZDj4wz2y_1_wlz1G560Q,28663
|
53
53
|
lino/core/menus.py,sha256=W0Co9K-ayvfX5Zt5rgSxJrFRejtiYrwIR5EecdYXPNc,10857
|
@@ -55,11 +55,11 @@ lino/core/merge.py,sha256=sKtTeZtHdoDKerdHj4NXuXXNzpKDsfdPaiq-CY0NqQc,9094
|
|
55
55
|
lino/core/model.py,sha256=YENZ-v1sggtdTitgmC8jBmuihN1EsKXQMlbPAuTSat8,36870
|
56
56
|
lino/core/permissions.py,sha256=Fnemz3NwWz21X0YATI9Q7ba2FcAdg-EMLHjIcbt_AVU,6840
|
57
57
|
lino/core/plugin.py,sha256=8FdxFF5tqHK-N8aXANzpWXY97hj6Lty4ulM6PWcq5A8,6833
|
58
|
-
lino/core/renderer.py,sha256=
|
58
|
+
lino/core/renderer.py,sha256=C00J0L41hLv9b2sAzqSSrT0Lz5Fc78JnwHiq9LqF81c,47310
|
59
59
|
lino/core/requests.py,sha256=xIq6kXhjLoYbSkW40_BH-uj0WvmfkvOVLGm2piiGtJo,95835
|
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=WRbYscZ7H8OnYMX0ptxjzNs9R6RvyBUy80f3kETo5Jw,82697
|
63
63
|
lino/core/store.py,sha256=6pd4J5Y-U7Muz4mKFSL6K9KEZpJUbpM-I7RQTWyCo-8,51483
|
64
64
|
lino/core/tables.py,sha256=Yoj-H2ASW9xIger8kuW8xst5A_tEmtWpV17L11Ebca0,24348
|
65
65
|
lino/core/urls.py,sha256=06QlmN1vpxjmb5snO3SPpP6lX1pMdE60bTiBiC77_vQ,2677
|
@@ -97,7 +97,7 @@ lino/locale/zh_Hant/LC_MESSAGES/django.po,sha256=J9IELaIaZmBI2Vfu9HPIVA-g45QTYIx
|
|
97
97
|
lino/management/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
98
98
|
lino/management/commands/__init__.py,sha256=raVDRiXns3SegyXEhaLZMcxfEDs7ggy2nFUN5D0f5F0,47
|
99
99
|
lino/management/commands/buildcache.py,sha256=MrOio6uBtQNW5gnbRrPIjarwUe18R-irxC7dLBBCpR4,1949
|
100
|
-
lino/management/commands/demotest.py,sha256=
|
100
|
+
lino/management/commands/demotest.py,sha256=NCUr3ttqU0oorOIc3Z6R_cNNgw5_OzHDbQf0HWlcB1g,4877
|
101
101
|
lino/management/commands/diag.py,sha256=vt-NlZUx5gf7T4EpbM-gle3tAwMuwfPQY8lUgxjFaUw,478
|
102
102
|
lino/management/commands/dump2py.py,sha256=X2u6OVkSb4MVQucF6jOKDDwRc8TCBNakW3UX_9S-n-U,20344
|
103
103
|
lino/management/commands/dump_settings.py,sha256=tGOR4h_ueVe2DOk84ILFvzvndt0doshvaxRkybB-rnY,2009
|
@@ -107,7 +107,6 @@ lino/management/commands/makemigdump.py,sha256=TvNnFFjD6XRMFLbX8IEMSNDKTMPLTBCi8
|
|
107
107
|
lino/management/commands/makescreenshots.py,sha256=fJF7ATZz7_s1IWkkYMEHVTLB5r5C1ny-kJp253BeoKM,8667
|
108
108
|
lino/management/commands/makeui.py,sha256=qYz68fnUKNXicZfGy3GXdjIZubhg1KyQnqjMblFN_LY,4813
|
109
109
|
lino/management/commands/mergedata.py,sha256=-dPvBtyc-AqKpQeL4TUd2IKHGe8EaaW8Citcsp_hwEU,2527
|
110
|
-
lino/management/commands/monitor.py,sha256=-axtsW-uzk87ESR6-GSfUL0Y2ylB5BwHC6Xlx3fPxo4,5113
|
111
110
|
lino/management/commands/passwd.py,sha256=S-7qyUWOaBnqRo_quwWewJjzwonqK4PBP2j8fuBGy3c,3012
|
112
111
|
lino/management/commands/prep.py,sha256=23bnkHQrFHDPjGDI7Y2epXAC2bJ3oBYg0ZZV7g6ibTM,2124
|
113
112
|
lino/management/commands/qtclient.py,sha256=ltZyz-SmIevotRmv26TmPiW8VTXKK37DUwdwwMUzrHI,4715
|
@@ -116,20 +115,20 @@ lino/management/commands/run.py,sha256=MiK53KIACYKDTKF6knJGwU-uzEApGnDxByi-3_nrT
|
|
116
115
|
lino/management/commands/show.py,sha256=dS_TotAEeH8zo_wufQgca6q0Yj9qeWsJUOUcss6YD7E,1439
|
117
116
|
lino/management/commands/syncscreenshots.py,sha256=XYZhqfm5_RwJzVFNGhHJKucl4j6T6mYo2GsDaUzvjAs,1561
|
118
117
|
lino/management/commands/update_conf.py,sha256=saAaQdPhn3mNOoHcBxOFSf_vBEgM-aopTHq1sJN20Bo,1026
|
119
|
-
lino/mixins/__init__.py,sha256=
|
120
|
-
lino/mixins/dupable.py,sha256=
|
118
|
+
lino/mixins/__init__.py,sha256=7_gW-TzHryL9hvcOx90Op-uBGvivtEj4e6bfNp6j_OE,8854
|
119
|
+
lino/mixins/dupable.py,sha256=9DNZ9xsgSFsxchqzlo86jQVecXABuDeEZ62tamj-X9A,10235
|
121
120
|
lino/mixins/duplicable.py,sha256=a5-1jZZWX-kgKg5GNhV6yaSGOgfTyd2lWHtY35bVmes,4247
|
122
121
|
lino/mixins/human.py,sha256=YDIfIHHAaVmzd3uGsJp_vDvkaBWOp09I7i4AGNy9YsQ,13255
|
123
122
|
lino/mixins/periods.py,sha256=iFqUCUZlgUW2GmEHRl9suwJedztrXLluQhgFpu7Uj54,11479
|
124
123
|
lino/mixins/polymorphic.py,sha256=MLbfOeIYRoDZO4048X2oWhG5cxds2pLkwciXcw1xjVQ,9393
|
125
124
|
lino/mixins/printable.py,sha256=4U8M1lrTjUeuaPwrcWoanCBo53iAxiNpSTsVctI-gI0,199
|
126
125
|
lino/mixins/ref.py,sha256=ZnyTcpHgcbYwDwgaBwLc5cGLQqz8MmjAypSEgPB7Ql4,5272
|
127
|
-
lino/mixins/registrable.py,sha256=
|
126
|
+
lino/mixins/registrable.py,sha256=I9KqbYf0kZdbpD4UBUwNK7_OhRdWQDVqK0tkSU-M2ZU,7114
|
128
127
|
lino/mixins/sequenced.py,sha256=6FiHJX2ZIraqUofdnb082b978PISNbpd2Vr87YA_1pg,16460
|
129
128
|
lino/modlib/__init__.py,sha256=cO31gNu2oRkp7o2v3D9gK2H7j4jF9rbVyPxPZhZQwrQ,940
|
130
129
|
lino/modlib/about/__init__.py,sha256=jhqGQIXU1o7KkmmQjfwPKJc3buibB09Fy55carAmi7U,342
|
131
130
|
lino/modlib/about/choicelists.py,sha256=2bxDb2u7cFacBOgLoEWrMmzQ4BJ3x1pmhdgqxzUp-Rw,1424
|
132
|
-
lino/modlib/about/models.py,sha256=
|
131
|
+
lino/modlib/about/models.py,sha256=bT62zZrvdEF1JprwB152v_VmRMfEIbdXrkN7VZISfEg,5141
|
133
132
|
lino/modlib/awesomeuploader/__init__.py,sha256=pUUnpdglJ0IDMBgW-ZQwnTOPHDRjItEiIWbSwv4qvBM,1825
|
134
133
|
lino/modlib/awesomeuploader/models.py,sha256=LaK6IzLoCX4qMkVhsgdPfgawyFPe5rcHUgBFY0PbzWg,801
|
135
134
|
lino/modlib/awesomeuploader/config/awesomeuploader/snippet.js,sha256=cZCGi0e9lDW96vCg3KVJ5DUtg2KHLNdnPo5KPRrQxv8,1792
|
@@ -163,8 +162,8 @@ lino/modlib/changes/__init__.py,sha256=3-CO7xI-U-rKDu_-WJg7N4FaIgqmFcj81uzyQlNYr
|
|
163
162
|
lino/modlib/changes/models.py,sha256=wflXkqKSC-0ZynPGEd6PR4agP6zMuYO6v6v2NcRJgoo,9537
|
164
163
|
lino/modlib/changes/utils.py,sha256=4jz8QXgaBxfmCBUvDeZeh7lkdwfTq7OBXBiFhMmANqA,2550
|
165
164
|
lino/modlib/checkdata/__init__.py,sha256=raUCoYi4WZLKVLG3GqH0ml1eH_YJXqY-EgXsKUe6iRY,2829
|
166
|
-
lino/modlib/checkdata/choicelists.py,sha256=
|
167
|
-
lino/modlib/checkdata/models.py,sha256=
|
165
|
+
lino/modlib/checkdata/choicelists.py,sha256=JlBK8VeJK6yAFiqeU1Zx7m2wpDtTpZ1o6YPjnig6g70,5260
|
166
|
+
lino/modlib/checkdata/models.py,sha256=csN69hFVkQQcSwxPmY02ofXsWZvA7z2T-N1Pg19t3Wk,13758
|
168
167
|
lino/modlib/checkdata/roles.py,sha256=xjQ882-BxYUoHbv2pzebs7MWl6snA2fKivFDTRzW7sQ,295
|
169
168
|
lino/modlib/checkdata/fixtures/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
170
169
|
lino/modlib/checkdata/fixtures/checkdata.py,sha256=TY9yIBwB5nEw0e6RTXqRwYdiCaLkkYTwWmFGcVBw2ow,332
|
@@ -174,22 +173,22 @@ lino/modlib/checkdata/management/commands/checkdata.py,sha256=CjtGm26qPxIWgkn5a9
|
|
174
173
|
lino/modlib/comments/__init__.py,sha256=XoRLIB-pSsz4EfA2FhsbKQ27fsW_AAvS7SyA0_vhHv8,1678
|
175
174
|
lino/modlib/comments/choicelists.py,sha256=SIA7P_KwtaayqOJxCkwyZouK0Z23-2v4ZFV9a0Zexnk,3314
|
176
175
|
lino/modlib/comments/mixins.py,sha256=h1VvM4h-6rEixziz0r7vJCptM7T7K6i4r50Scz5riws,4413
|
177
|
-
lino/modlib/comments/models.py,sha256=
|
176
|
+
lino/modlib/comments/models.py,sha256=6QMihylQW0z0nbNyVznp0pU_tWGSor79KczoYPjwtIw,15926
|
178
177
|
lino/modlib/comments/roles.py,sha256=z3gctvlTa_5PAs-D4pounyzNyuEc31jTFq9g33r6Z1w,751
|
179
178
|
lino/modlib/comments/ui.py,sha256=OYeYHJZUvou3d21OcChVhCWtCd7ildGNxIgRoM37Gng,9955
|
180
179
|
lino/modlib/comments/config/comments/comments.js,sha256=7oAnNyx_MKM1iWPu-QSp6iKfnOVdgq7EciQPpxTvYU8,242
|
181
180
|
lino/modlib/comments/fixtures/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
182
|
-
lino/modlib/comments/fixtures/demo2.py,sha256=
|
181
|
+
lino/modlib/comments/fixtures/demo2.py,sha256=DSIqNtGOQlwbg8k43nE2ax1x-H_ifRsozvw6LZM330Y,25407
|
183
182
|
lino/modlib/dashboard/__init__.py,sha256=_PFbmakUn8DShXyJY3EfAcuZtX5ofWnS-8dk7s1CrLw,1420
|
184
183
|
lino/modlib/dashboard/models.py,sha256=EgRNg88dmz-OlIdi1SyEuerWMsRqKIfqE2MgKL7kApw,3510
|
185
184
|
lino/modlib/dupable/__init__.py,sha256=fIQ8wj-T8ZbkjwQgW_-ankJsHLjPMepOTo32mJXNCvI,532
|
186
|
-
lino/modlib/dupable/mixins.py,sha256=
|
185
|
+
lino/modlib/dupable/mixins.py,sha256=SZ2Exe5q3ANYsP7gnEXQuQczwCDKdRfFvOavreu4mYI,6324
|
187
186
|
lino/modlib/dupable/models.py,sha256=0watviKwTiVwlArC54V3IxVVfcB1Yg5kO6ed2xCM9a0,4595
|
188
187
|
lino/modlib/export_excel/__init__.py,sha256=HrsrhXjIMvMHRGu8whH3A_WijZWrH35p2cQsFXK60DY,356
|
189
188
|
lino/modlib/export_excel/models.py,sha256=A-lFS-xFDSPHcVbY0OI7VsuGr82jJyLDhXH2Dcv80Os,5039
|
190
189
|
lino/modlib/extjs/__init__.py,sha256=6UBWAWSROwy3DfTXQmVUVJTF6eZ_e2k3BEfE4wtqVhU,10172
|
191
|
-
lino/modlib/extjs/ext_renderer.py,sha256=
|
192
|
-
lino/modlib/extjs/views.py,sha256=
|
190
|
+
lino/modlib/extjs/ext_renderer.py,sha256=KkzvGe7pyOB-_tMiiifqeDI2KuKZd-nGNic9XbV3uu0,60616
|
191
|
+
lino/modlib/extjs/views.py,sha256=CrX_tPshJtSkHT7raDDqn4B_XYamujRs-CgLzY4CBxg,26299
|
193
192
|
lino/modlib/extjs/config/extjs/index.html,sha256=jO5hdNpFSkm9t0xhHD5hc8Hw1fSr6xb3zYq9aMyOI7Q,8603
|
194
193
|
lino/modlib/extjs/config/extjs/linoweb.js,sha256=I4VYGmkK4htqZvHM9g-6psJF3pp7SvgHEI0I02Sxpvo,175127
|
195
194
|
lino/modlib/extjs/config/extjs/service-worker.js,sha256=KEKWeehTlfBHk3r8NbsP9C5av_DukHORybxFOwbjYaQ,1767
|
@@ -3507,7 +3506,7 @@ lino/modlib/help/config/makehelp/models.tpl.rst,sha256=6N_-CRztf1-bdKUr3Q7IXA-f2
|
|
3507
3506
|
lino/modlib/help/config/makehelp/plugin.tpl.rst,sha256=D2eXEv_GFzsutTUtk64u6R-X2ACRD0UElCVH7RBZXec,492
|
3508
3507
|
lino/modlib/help/config/makehelp/plugins.tpl.rst,sha256=rj9uRsag-u2gY_VcqkzuBepXhC5nRSRpoxJGvJHBVN8,352
|
3509
3508
|
lino/modlib/help/fixtures/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
3510
|
-
lino/modlib/help/fixtures/demo2.py,sha256=
|
3509
|
+
lino/modlib/help/fixtures/demo2.py,sha256=P719oIom7C7l_65-pKrZgsD6lhWUzoQCaNTQyVgeyoo,892
|
3511
3510
|
lino/modlib/help/management/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
3512
3511
|
lino/modlib/help/management/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
3513
3512
|
lino/modlib/help/management/commands/makehelp.py,sha256=ylVcT9TNOYK7N-hCm0d3ZQ76CTzRxUd8nXV2PbJ2JYs,18600
|
@@ -3518,7 +3517,7 @@ lino/modlib/ipdict/models.py,sha256=9-pjj_xXdndhQaQI8sgXcmODxurST_aFcShGwomiYKk,
|
|
3518
3517
|
lino/modlib/jinja/__init__.py,sha256=XSa-e1qZGabl8EmRDKPRtmzgBRole5ZbxAUBR_m-ds0,3418
|
3519
3518
|
lino/modlib/jinja/choicelists.py,sha256=QHjWQWLnJCKSGnLIKeGqnCw41JYvcbTkCeXjBpWh23w,1466
|
3520
3519
|
lino/modlib/jinja/loader.py,sha256=MX027X_UuQPqq0wOUr06QnOkdTzGpksNv0Om1CGp61I,1765
|
3521
|
-
lino/modlib/jinja/mixins.py,sha256=
|
3520
|
+
lino/modlib/jinja/mixins.py,sha256=X9ARAUsrD72sVj69cN3fl-auNnmz_0gVfG_-WXPHx_o,2837
|
3522
3521
|
lino/modlib/jinja/models.py,sha256=vXNFS78qP-qIzeSmnXJNOpvW_IfH1h6hhPgYjfkvvD0,207
|
3523
3522
|
lino/modlib/jinja/renderer.py,sha256=PtjhJdidlOOGzRdyUQlaEIj2FhFFuthFB80-bkSfsoM,6156
|
3524
3523
|
lino/modlib/jinja/config/jinja/status.jinja.rst,sha256=XEsfXd82B0fLsBfds5-pXdeDWVr4ccTv7WyGa9ayigk,312
|
@@ -3536,8 +3535,8 @@ lino/modlib/linod/__init__.py,sha256=efmj_Kz3OO2zF1lvs7P459iufYGimH1-6Ge6Cbq85tQ
|
|
3536
3535
|
lino/modlib/linod/choicelists.py,sha256=Cu82s1QpcGFmKUXJsg-7TSqpaESBCZKOEfxzFlJP06I,2626
|
3537
3536
|
lino/modlib/linod/consumers.py,sha256=XBjA1fflJ-e9yWRMKXyQAhrOklYzs5JRhEeGMOKWFqM,6730
|
3538
3537
|
lino/modlib/linod/mixins.py,sha256=gZci22_m3GNUNycLSvMelG1sUQLCCho2gniPTegopMs,13027
|
3539
|
-
lino/modlib/linod/models.py,sha256=
|
3540
|
-
lino/modlib/linod/routing.py,sha256=
|
3538
|
+
lino/modlib/linod/models.py,sha256=yqGytDq7KxkHBCZpwF-7GQdR3nGh6-rBB-gLkvqoouQ,2361
|
3539
|
+
lino/modlib/linod/routing.py,sha256=3pYJT6FbaVMj6rKkDVv3E5VTFFc9nglIDeo6dgAKu8Q,2399
|
3541
3540
|
lino/modlib/linod/utils.py,sha256=dE973Xib6Be1DvNsZ0M5wzY_jpkk35R21WKs-jQPorM,339
|
3542
3541
|
lino/modlib/linod/fixtures/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
3543
3542
|
lino/modlib/linod/fixtures/linod.py,sha256=qCFU2IktRVEdt1lChwu6kZLLnd4Ppfq_x9_2qGYelTY,1173
|
@@ -3545,16 +3544,16 @@ lino/modlib/linod/management/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NM
|
|
3545
3544
|
lino/modlib/linod/management/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
3546
3545
|
lino/modlib/linod/management/commands/linod.py,sha256=RsUgUBz-soF8wkfgUE8KJiLZltrhEeCm1m7AFNthUps,3826
|
3547
3546
|
lino/modlib/memo/__init__.py,sha256=GdzNURo3v_o5PxTBZ_KNkzrjlcDzn4AO95pYBbHmk8Q,5389
|
3548
|
-
lino/modlib/memo/mixins.py,sha256=
|
3547
|
+
lino/modlib/memo/mixins.py,sha256=wk1bwb28GTBwXI2QJSo-6kJLfpjFwXTf5S8McjmZ0Gw,11251
|
3549
3548
|
lino/modlib/memo/models.py,sha256=zUEvWu0dK5QhkU3DeMqNqsrzSUzOl6DLZaJBNytfgrs,4388
|
3550
3549
|
lino/modlib/memo/parser.py,sha256=AKMfdbNFl9ehxl8TTFWwQ-ngfx7CD7hUjVA6bUNBY1c,12997
|
3551
3550
|
lino/modlib/memo/views.py,sha256=H3g_nuiMzguptXLSWaWLJClU7BefXPFn9Rh8UIVVBeg,555
|
3552
3551
|
lino/modlib/notify/__init__.py,sha256=suo7EMVdyTPTPFwuU2KZL25PwIEstTvvR4Turgdz7UE,6926
|
3553
3552
|
lino/modlib/notify/actions.py,sha256=ClRKDjmgx3m43IZ5cx0TdxXN_pU6hLIlo_jCwEW2LhY,2468
|
3554
|
-
lino/modlib/notify/api.py,sha256=
|
3553
|
+
lino/modlib/notify/api.py,sha256=xs5gAqIEJjkRYbRHAIMy47a1gHuIR6ZaPeK_0gk7EcU,4054
|
3555
3554
|
lino/modlib/notify/choicelists.py,sha256=7ZkYNMOXNDfyTvdx8Sn-Gsma9f31o-6G1CtivXmQDmA,1324
|
3556
3555
|
lino/modlib/notify/consumers.py,sha256=YaEAhAi_Oq5ovakuP5DI21YIAMvRqQcf4K8MBilcN2w,1529
|
3557
|
-
lino/modlib/notify/mixins.py,sha256=
|
3556
|
+
lino/modlib/notify/mixins.py,sha256=rwsTgqpzvyiekOqHpxQRTPPdOhv2ZIPrW03YSATfdeE,3903
|
3558
3557
|
lino/modlib/notify/models.py,sha256=LtefhX8wYtP2EYpFN1-VTV8ZAjSTbbbVoAh68LHU1KE,18464
|
3559
3558
|
lino/modlib/notify/utils.py,sha256=e4TAJr8mgicwEjgyuP-bOiw1VGNA6tVo_hab1q-oSNc,328
|
3560
3559
|
lino/modlib/notify/views.py,sha256=Ar2L_Tv1qqU5giHu2b0h_AKc3utvgfZwda4qncqoBsk,957
|
@@ -3583,25 +3582,27 @@ lino/modlib/periods/fixtures/std.py,sha256=iV6a2DNAhfYvO1VspGkcncEmygHK94zWdDZlH
|
|
3583
3582
|
lino/modlib/printing/__init__.py,sha256=u1fq44d073-IDH_t8hWs1sQdlAHdsCP85sfEOMSW5L4,689
|
3584
3583
|
lino/modlib/printing/actions.py,sha256=2-JORKcjJYuzK2kYmhqZl0gRR-4CrG7ul8mcFNfYYAI,11766
|
3585
3584
|
lino/modlib/printing/choicelists.py,sha256=DM929pej7NUi1gm38nUr0t3-VANV95eqCLeW5ubh8y8,9712
|
3586
|
-
lino/modlib/printing/mixins.py,sha256=
|
3585
|
+
lino/modlib/printing/mixins.py,sha256=4MLDD-A0zzuJNVcWJzbhyPfC9l6UUgKhm-m8DokN0aM,8353
|
3587
3586
|
lino/modlib/printing/models.py,sha256=fd-BEKSLpgxPnkh9U7fg2tjNy39exBi3xJC9VzJuXdU,185
|
3588
3587
|
lino/modlib/printing/utils.py,sha256=LUO9769wJvHCPZIqeVQ9XAS6UKJ6BfJbiwO8Dt1kHc4,737
|
3589
3588
|
lino/modlib/printing/config/report/Default.odt,sha256=4X8UD9H_5Th2CELP0C6DTe4g0ZNUPXAg1C00xP3Qluc,10930
|
3590
3589
|
lino/modlib/printing/config/report/Default.wk.html,sha256=4Ssx2LWm1gVpXf0Q4XoSY15WkhqRvx51Upab-IS1nm0,96
|
3591
3590
|
lino/modlib/publisher/__init__.py,sha256=bGQduKmgzr_lU2N6H4q4I5ZmW-3iwdPuT2D8dpiVOiI,2644
|
3592
|
-
lino/modlib/publisher/choicelists.py,sha256=
|
3593
|
-
lino/modlib/publisher/mixins.py,sha256=
|
3594
|
-
lino/modlib/publisher/models.py,sha256=
|
3591
|
+
lino/modlib/publisher/choicelists.py,sha256=gVzjyp1sJ-XewAW-I_bCrKdTLgygLzh1ZwFI1rKyPdo,9070
|
3592
|
+
lino/modlib/publisher/mixins.py,sha256=yRxAtFSNe9aVvdY-th_a5wmQ76jBfKYWzeNUn-efJMA,6651
|
3593
|
+
lino/modlib/publisher/models.py,sha256=3g_tPavQ6ZFQsHYkzbBe_LXPeq0TUgsU1JrR6bxuRT0,17149
|
3595
3594
|
lino/modlib/publisher/renderer.py,sha256=9RoyVMQcbwh_GcbDJO8BWhCKe1kpbDc9M45hrMqzpNs,1922
|
3596
|
-
lino/modlib/publisher/ui.py,sha256=
|
3597
|
-
lino/modlib/publisher/views.py,sha256=
|
3595
|
+
lino/modlib/publisher/ui.py,sha256=qWp3JWhO6zN_HSZvSlolmNTgiZgoJeY2_TIDh9nYf3Q,4491
|
3596
|
+
lino/modlib/publisher/views.py,sha256=_0ktDagke4TOWVekJOnaRJBrbKqn27Yfz3SC2UnHKTM,2423
|
3598
3597
|
lino/modlib/publisher/config/publisher/base.html,sha256=nrWuN4lhP1O4ORdYTaY3fS2pc90yfUnfDYfm2Jtr7hQ,198
|
3599
3598
|
lino/modlib/publisher/config/publisher/default_list.pub.html,sha256=3ePc4U3xZxE-pqtzlnB9CRQWu8OQrtfXKEjyuc8BBUQ,578
|
3600
3599
|
lino/modlib/publisher/config/publisher/item.pub.html,sha256=973RYgCAYG1SYIB4bwfVZFVTUo0WD2I98PsoPgjQ8XA,154
|
3601
3600
|
lino/modlib/publisher/config/publisher/login.html,sha256=_j_MmwVv_UohMnEDADo99XQmUqGvOWTlCDPW1oaSWpo,495
|
3602
|
-
lino/modlib/publisher/config/publisher/page.pub.html,sha256=
|
3601
|
+
lino/modlib/publisher/config/publisher/page.pub.html,sha256=jnWP-uhhJZ0fjNHJ1Fo-0AIsiOFopzesOdyVtuSuM_w,2264
|
3603
3602
|
lino/modlib/publisher/fixtures/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
3604
|
-
lino/modlib/publisher/fixtures/
|
3603
|
+
lino/modlib/publisher/fixtures/demo2.py,sha256=KrF672tNLlhMX6EkxKDfcvvE9pGH4k9NgF7Rk5DkiLg,366
|
3604
|
+
lino/modlib/publisher/fixtures/std.py,sha256=7xpMOr4kd-4SX8uhwxagktUlcXAr6fdZfD-H519CR6g,987
|
3605
|
+
lino/modlib/publisher/fixtures/synodalworld.py,sha256=aoHrQOu7qPWsPWbvEOfoVMdWQPFYBM85EUmJgcbS0tI,398
|
3605
3606
|
lino/modlib/restful/__init__.py,sha256=9CqWTQkJ2KpLW5MI1bKqKZU_7nXxodxl7HSgc8Agwmw,1506
|
3606
3607
|
lino/modlib/restful/fields.py,sha256=8dik0q2LaCtJhQX1lu-fe-y_38xdhAWy1ZX3EKmJWfs,567
|
3607
3608
|
lino/modlib/restful/serializers.py,sha256=AVyA19UkRUJ9AjlUN0fJyrj1LgfOyp-a2ANcVkecWtA,1143
|
@@ -3639,7 +3640,7 @@ lino/modlib/system/__init__.py,sha256=cXb8cPBr3t18mXtiY_ScqscdUgd6MvSrsHebfqY-SH
|
|
3639
3640
|
lino/modlib/system/actions.py,sha256=jmSYPQDvIQxDth8MaJ9GpkmSCufLGWjmAjKdHAIWE48,1126
|
3640
3641
|
lino/modlib/system/choicelists.py,sha256=hClsYGgEDAuEYztCiivJlgReBdpDs8z3T_HRcS83ZFg,9578
|
3641
3642
|
lino/modlib/system/mixins.py,sha256=fpj0O1218KgwGhRr8IHYRBXsNt5uXN87qVrx7dxvjys,19031
|
3642
|
-
lino/modlib/system/models.py,sha256=
|
3643
|
+
lino/modlib/system/models.py,sha256=9cXmONc-LPYMhc9-K63TTC20HrC3S6dHxVA1J7Bt4FQ,10906
|
3643
3644
|
lino/modlib/system/fixtures/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
3644
3645
|
lino/modlib/system/fixtures/std.py,sha256=ko6TxoQ6hQvUJT6BYOFBB8-F_kxu8VlRhlEcUg248Uc,102
|
3645
3646
|
lino/modlib/tinymce/__init__.py,sha256=do3zN5Mo2ftsegHTV_KUVaHl44RJ8WHBSS4Jb7BExHs,4879
|
@@ -4397,7 +4398,7 @@ lino/modlib/uploads/choicelists.py,sha256=-7SODzA_0afrBgPh7-j8kpz0VdzDXy2U7dLhhw
|
|
4397
4398
|
lino/modlib/uploads/dummy_upload.odt,sha256=VHG2YkykCg8VqoXx8Hm37QYunvdbmg_jCyygiZseKF8,10447
|
4398
4399
|
lino/modlib/uploads/dummy_upload.pdf,sha256=hdAx7s3V10lqVekSGugzkn_Hqxx3V4OkCNVNQI2OsFY,18730
|
4399
4400
|
lino/modlib/uploads/mixins.py,sha256=Vpr7BB0NvDIyG59KnR-j-4KH8CleSGmtjUSrS5YGeu0,8356
|
4400
|
-
lino/modlib/uploads/models.py,sha256=
|
4401
|
+
lino/modlib/uploads/models.py,sha256=d90XVswkatb5MtIGLJMNtxBaKTToVuNyxoqOR691gTc,17535
|
4401
4402
|
lino/modlib/uploads/roles.py,sha256=ae0wf_vC4O6MffDx8abpjW1M2oWOp5VzOvt_ckk72Cc,191
|
4402
4403
|
lino/modlib/uploads/ui.py,sha256=gVQQJUJEfBAESkU5ueKXs_XKZYiXYaIMh1CyNXBrcyk,8666
|
4403
4404
|
lino/modlib/uploads/utils.py,sha256=MQAJbI5sUe0RCXCrkxpNKUJFxHpz1bOMqKQy3QsA76o,3343
|
@@ -4492,7 +4493,7 @@ lino/sphinxcontrib/logo/templates/links.html,sha256=SccaqiI_Fg4lYT_nxDWfGZXLLD8F
|
|
4492
4493
|
lino/sphinxcontrib/logo/templates/part-of-synodalsoft.html,sha256=tHh0SfRoIqpoxkA5ZA5_Obc_9Bs5Uh4d3qUSC3oprdw,1427
|
4493
4494
|
lino/sphinxcontrib/logo/templates/unused_copyright.html,sha256=ct3QmWrUk0IS6hvr_XH5fMbseTH7CTzKhRH1UOUTWG8,205
|
4494
4495
|
lino/static/blueprint.css,sha256=meK9oC38foNI4x_YuylIU9TJdGiZi4HM4PFAWpjoiiw,131
|
4495
|
-
lino/static/bootstrap.css,sha256
|
4496
|
+
lino/static/bootstrap.css,sha256=_fWS3mQj4XzXZVo5KGhZe31uHWjJqXHIck5gRv7AZLY,1160
|
4496
4497
|
lino/static/contacts.Person.jpg,sha256=rNjIfwxfjh0kgrQBeNWyJvBdr5j2y6fo9_VwHU9JNAE,31796
|
4497
4498
|
lino/static/favicon1.ico,sha256=0dr7FW9j_qWDl_z5kKtNhWELExVUblctxH0bfaVoNo0,2238
|
4498
4499
|
lino/static/favicon2.ico,sha256=gtVZpKmRoZqWCgP6GgJkviX1FwPocx8K1P5fTGFOPo0,3906
|
@@ -4588,8 +4589,8 @@ lino/utils/cycler.py,sha256=2LGMhMJX5At5ln4yZvmNleWROs-CA_YE_UCzxzvxK4U,1548
|
|
4588
4589
|
lino/utils/daemoncommand.py,sha256=NjGShiz09fddIV0WU0jK2nzO_CwPj1MfdmgwAOYZi4M,11525
|
4589
4590
|
lino/utils/dataserializer.py,sha256=-_xHXaGwDSO6-sYEHEa2BtEmKS8bW6gsYx4dV-GbvDs,3779
|
4590
4591
|
lino/utils/dates.py,sha256=eWF5WxA5uJf51Y9PKvDVBWD8yIf6yBF6oO6TeU3ujzw,1030
|
4591
|
-
lino/utils/dbfreader.py,sha256=
|
4592
|
-
lino/utils/dbhash.py,sha256=
|
4592
|
+
lino/utils/dbfreader.py,sha256=KrGsBAFV2tF9pAd9jsmBAFpZ-yw-CRymZHEn_q9IL90,13784
|
4593
|
+
lino/utils/dbhash.py,sha256=TMnUGhOFbaip6L2Y4ENhCOS79ujJiO0CyYcOCZyHiK4,3505
|
4593
4594
|
lino/utils/dblogger.py,sha256=kr0YxQY6veymvNg5A4tsvkqW8haRWdwqL0C-_9_QTg0,721
|
4594
4595
|
lino/utils/diag.py,sha256=8BGsPrLd1_Fympy3PKiTpX1MdMWGApXr6IBoVOkWRxE,18314
|
4595
4596
|
lino/utils/djangotest.py,sha256=Phz1qNp0wDonZRja5dxbCk0Xl3a73gZNiKK8v9tAgZg,8334
|
@@ -4633,8 +4634,8 @@ lino/utils/xml.py,sha256=EGDnO1UaREst9fS7KTESdbHnrrVCwKbRQdvut6B6GmQ,1612
|
|
4633
4634
|
lino/utils/mldbc/__init__.py,sha256=QqWRlzeXaOmFfbCk-vTY3SZMn1-FCf67XnpZdd_Nim0,1134
|
4634
4635
|
lino/utils/mldbc/fields.py,sha256=tAX8G5UKigr9c6g0F3ARIjZZtg406mdaZ--PWSbiH9E,2873
|
4635
4636
|
lino/utils/mldbc/mixins.py,sha256=CkYe5jDa7xp9fJq_V8zcZf8ocxgIjUgHc9KZccvA_Yw,1945
|
4636
|
-
lino-25.4.
|
4637
|
-
lino-25.4.
|
4638
|
-
lino-25.4.
|
4639
|
-
lino-25.4.
|
4640
|
-
lino-25.4.
|
4637
|
+
lino-25.4.4.dist-info/METADATA,sha256=PnRkn-GRvLWsBi5pyAO6iggfwDKypr8ZWdiuhYqRN0Y,42534
|
4638
|
+
lino-25.4.4.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
4639
|
+
lino-25.4.4.dist-info/licenses/AUTHORS.rst,sha256=8VEm_G4HOmYEa4oi1nVoKKsdo4JanekEJCefWd2E8vk,981
|
4640
|
+
lino-25.4.4.dist-info/licenses/COPYING,sha256=DZak_2itbUtvHzD3E7GNUYSRK6jdOJ-GqncQ2weavLA,34523
|
4641
|
+
lino-25.4.4.dist-info/RECORD,,
|