summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--core/utils.py2
-rw-r--r--parsers/logbooks.py13
-rw-r--r--settings.py6
3 files changed, 12 insertions, 9 deletions
diff --git a/core/utils.py b/core/utils.py
index 8cd94e2..9144113 100644
--- a/core/utils.py
+++ b/core/utils.py
@@ -82,7 +82,7 @@ def current_expo():
if expos:
return expos[0].year
else:
- return "1970"
+ return settings.EPOCH.year
def only_commit(fname, message):
"""Only used to commit a survex file edited and saved in view/survex.py"""
diff --git a/parsers/logbooks.py b/parsers/logbooks.py
index 8737508..11a7ad2 100644
--- a/parsers/logbooks.py
+++ b/parsers/logbooks.py
@@ -17,6 +17,7 @@ from troggle.core.models.logbooks import LogbookEntry, PersonLogEntry
from troggle.core.models.troggle import DataIssue, Expedition
from troggle.core.utils import get_process_memory, alphabet_suffix, unique_slug
+EPOCH = settings.EPOCH
"""
Parses and imports logbooks in all their wonderful confusion
See detailed explanation of the complete process:
@@ -32,8 +33,6 @@ e.g. cave descriptions
- attach or link a DataIssue to an individual expo (logbook) so that it can be found and deleted
-- replace explicit 1970 date with a constant EPOCH
-
- rewrite to use generators rather than storing everything intermediate in lists - to
reduce memory impact [low priority]
@@ -260,8 +259,8 @@ def store_entry_into_database(date, place, tripcave, title, text, trippersons, a
faster ?
"""
other_people = ", ".join(guests) # join list members separated by comma
- if guests:
- print(f" {date} - {guests}")
+ # if guests:
+ # print(f" {date} - {guests}")
nonLookupAttribs = {
"place": place,
@@ -291,7 +290,7 @@ def parser_date(tripdate, year):
"""Interprets dates in the expo logbooks and returns a correct datetime.date object
Does NOT actually check that it is a truly valid date..
"""
- dummydate = date(1970, 1, 1) # replace with _EPOCH
+ dummydate = EPOCH
month = 1
day = 1
# message = f" ! - Trying to parse date in logbook: {tripdate} - {year}"
@@ -315,7 +314,7 @@ def parser_date(tripdate, year):
yadd = int(year[:2]) * 100
day, month, year = int(mdategoof.group(1)), int(mdategoof.group(2)), int(mdategoof.group(4)) + yadd
else:
- year = 1970 # replace with _EPOCH
+ year = EPOCH.year
message = f" ! - Bad date in logbook: {tripdate} - {year}"
DataIssue.objects.create(parser="logbooks", message=message)
@@ -323,7 +322,7 @@ def parser_date(tripdate, year):
except:
message = f" ! - Failed to parse date in logbook: {tripdate} - {year}"
DataIssue.objects.create(parser="logbooks", message=message)
- return datetime.date(1970, 1, 1) # replace with _EPOCH
+ return EPOCH
def parser_html(year, expedition, txt, seq=""):
diff --git a/settings.py b/settings.py
index 71cce39..7548c5c 100644
--- a/settings.py
+++ b/settings.py
@@ -1,4 +1,6 @@
import sys
+from datetime import date
+
"""
Django settings for troggle project.
@@ -23,7 +25,9 @@ if 'runserver' in sys.argv:
DEVSERVER = True
else:
DEVSERVER = False
-
+
+EPOCH = date.fromisoformat('1970-01-01')
+
# default value, then gets overwritten by real secrets
SECRET_KEY = "not-the-real-secret-key-a#vaeozn0---^fj!355qki*vj2"