2
0
mirror of https://expo.survex.com/repositories/troggle/.git synced 2024-11-25 08:41:51 +00:00

bugfix and docum

This commit is contained in:
Philip Sargent 2022-03-24 20:59:36 +00:00
parent 1589188988
commit 3617f9b6d9
3 changed files with 5 additions and 9 deletions

View File

@ -24,7 +24,7 @@ from django.template import Context, loader
'''This file declares TROG a globally visible object for caches.
TROG is a dictionary holding gloablly visible indexes and cache functions.
TROG is a dictionary holding globally visible indexes and cache functions.
It is a Global Object, see https://python-patterns.guide/python/module-globals/
troggle.utils.TROG

View File

@ -52,9 +52,6 @@ def expedition(request, expeditionname):
'''Returns a rendered page for one expedition, specified by the year e.g. '2019'.
If page caching is enabled, it caches the dictionaries used to render the template page.
The cache is refreshed if '?reload' is present in the requesting URL, which also re-parses the logbook.
By specifying a '0' for the expected number of entries in the logbook cache, this forces the parser to
re-parse the original logbook HTML file.
'''
if request.user.is_authenticated:
if "reload" in request.GET:
@ -68,7 +65,7 @@ def expedition(request, expeditionname):
entry.delete()
entries = this_expedition.logbookentry_set.all()
print(f'! - expo {expeditionname} {len(entries)} entries after deletion')
LoadLogbookForExpedition(this_expedition, 0) # 0 means re-parse as implies cache expected to be 0
LoadLogbookForExpedition(this_expedition)
logged_in = True
else:
logged_in = False

View File

@ -32,20 +32,19 @@ todo='''
-- far too many uses of Django field dereferencing to get values, which is SLOW
- Loogbooks 1987, 1988, 1989 all crash on MySql - but not sqlite - with db constraint fail. Edit logbook to fix.
- import/parse/re-export-as-html the 'artisanal-format' old logbooks so that
we keep only a modern HTML05 format. Then we can retiure the old parsers and reduce the
volume of code here substantially.
- edit LoadLogbooks() to use coroutines to speed up import substantially,
but perhaps we had better profile it first?
- rewrite to use generators rather than storing everything intermediate in lists - to reduce memory impact.
- the object store will need additional functions to replicate the persontrip calculation
and storage. For the moment we leave all that to be done in the django db
Concurrent synchronisation would be nice..
- DB lock currently prevents multiple threads for loading logbooks. But asyncio might work..?
- We should ensure logbook.html is utf-8 and stop this crap:
file_in = open(logbookfile,'rb')