summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--core/utils.py2
-rw-r--r--core/views/logbooks.py5
-rw-r--r--parsers/logbooks.py7
3 files changed, 5 insertions, 9 deletions
diff --git a/core/utils.py b/core/utils.py
index f487c7b..8cbbda2 100644
--- a/core/utils.py
+++ b/core/utils.py
@@ -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
diff --git a/core/views/logbooks.py b/core/views/logbooks.py
index 461ff91..9695d54 100644
--- a/core/views/logbooks.py
+++ b/core/views/logbooks.py
@@ -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
diff --git a/parsers/logbooks.py b/parsers/logbooks.py
index 4ebfe0a..9d1a8f0 100644
--- a/parsers/logbooks.py
+++ b/parsers/logbooks.py
@@ -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')