summaryrefslogtreecommitdiffstats
path: root/parsers
diff options
context:
space:
mode:
Diffstat (limited to 'parsers')
-rw-r--r--parsers/drawings.py1
-rw-r--r--parsers/logbooks.py33
-rw-r--r--parsers/scans.py1
3 files changed, 24 insertions, 11 deletions
diff --git a/parsers/drawings.py b/parsers/drawings.py
index d0a2257..a8306b1 100644
--- a/parsers/drawings.py
+++ b/parsers/drawings.py
@@ -7,7 +7,6 @@ import re
import datetime
from pathlib import Path
-from PIL import Image
from functools import reduce
import settings
diff --git a/parsers/logbooks.py b/parsers/logbooks.py
index a1dd5ff..e59f46e 100644
--- a/parsers/logbooks.py
+++ b/parsers/logbooks.py
@@ -659,9 +659,10 @@ def LoadLogbooks():
expos = Expedition.objects.all()
if len(expos) <= 1:
print(" ! No expeditions found. Load 'people' first.\n")
- nologbook = ["1976", "1977", "1978", "1979", "1980", "1981",
- "1987", "1988", "1989", # breaks mysql with db constraint fail - debug locally first
- "1986", "2020", "2021",] #no expo
+ noexpo = ["1986", "2020", "2021",] #no expo
+ lostlogbook = ["1976", "1977", "1978", "1979", "1980", "1981"]
+ sqlfail = ["1987", "1988", "1989"] # breaks mysql with db constraint fail - debug locally first]
+ nologbook = noexpo + lostlogbook + sqlfail
entries = { "2019": 20, "2018": 74, "2017": 60, "2016": 81, "2015": 79,
"2014": 65, "2013": 51, "2012": 75, "2011": 68, "2010": 22, "2009": 52,
"2008": 49, "2007": 111, "2006": 60, "2005": 55, "2004": 76, "2003": 40, "2002": 31,
@@ -678,6 +679,12 @@ def LoadLogbooks():
with open("loadlogbk.log", "a") as log:
for expo in expos:
TROG['pagecache']['expedition'][expo.year] = None # clear cache
+ if expo.year in sqlfail:
+ print(" - Logbook for: " + expo.year + " NO parsing attempted - known sql failures")
+ message = f" ! - Not even attempting to parse logbook for {expo.year} until code fixed"
+ DataIssue.objects.create(parser='logbooks', message=message)
+ logdataissues[f"sqlfail {expo.year}"]=message
+
if expo.year not in nologbook:
print((" - Logbook for: " + expo.year))
if expo.year in entries:
@@ -686,7 +693,7 @@ def LoadLogbooks():
nlbe[expo.year]=numentries
expd[expo.year]= 0
else:
- print((" - No Logbook yet for: " + expo.year)) # catch case when preparing for next expo
+ print(" - No Logbook yet for: " + expo.year) # catch case when preparing for next expo
print("** total trips in ObjStore:", len(trips))
#for i in logdataissues:
# print("{:15s}: {}".format(i, logdataissues[i]))
@@ -700,11 +707,19 @@ def LoadLogbooks():
yt += expd[y]
print("total {} log entries in all expeditions".format(yt))
- with shelve.open('logbktrips.shelve',writeback=True) as odb:
- for lbe in trips:
- odb[lbe]=trips[lbe]
- odb.sync()
- odb.close()
+ try:
+ shelvfilenm = 'logbktrips.shelve' # ".db" automatically apended after python 3.8
+ with shelve.open(shelvfilenm, writeback=True) as odb:
+ for lbe in trips:
+ odb[lbe]=trips[lbe]
+ odb.sync()
+ odb.close()
+ except:
+ message = f" ! - Failed store cached logbooks in '{shelvfilenm}.db' - Delete old file and try again"
+ DataIssue.objects.create(parser='logbooks', message=message)
+ logdataissues["Shelve Fail"]=message
+ print(message)
+
# dateRegex = re.compile(r'<span\s+class="date">(\d\d\d\d)-(\d\d)-(\d\d)</span>', re.S)
# expeditionYearRegex = re.compile(r'<span\s+class="expeditionyear">(.*?)</span>', re.S)
diff --git a/parsers/scans.py b/parsers/scans.py
index 9c0d28a..161c8b8 100644
--- a/parsers/scans.py
+++ b/parsers/scans.py
@@ -6,7 +6,6 @@ import csv
import re
import datetime
-from PIL import Image
from functools import reduce
import settings