summaryrefslogtreecommitdiffstats
path: root/parsers
diff options
context:
space:
mode:
Diffstat (limited to 'parsers')
-rw-r--r--parsers/logbooks.py19
-rw-r--r--parsers/people.py32
2 files changed, 21 insertions, 30 deletions
diff --git a/parsers/logbooks.py b/parsers/logbooks.py
index bb592f3..1d23215 100644
--- a/parsers/logbooks.py
+++ b/parsers/logbooks.py
@@ -125,24 +125,7 @@ def GetTripPersons(trippeople, expedition, logtime_underground, tid=None):
if tripperson and tripperson[0] != "*":
tripperson = re.sub(rx_round_bracket, "", tripperson).strip()
- # these aliases should be moved to people.py GetPersonExpeditionNameLookup(expedition)
- if tripperson == "Wiggy":
- tripperson = "Phil Wigglesworth"
- if tripperson == "Animal":
- tripperson = "Mike Richardson"
- if tripperson == "MikeTA":
- tripperson = "Mike Richardson"
- if tripperson == "CavingPig":
- tripperson = "Elaine Oliver"
- if tripperson == "nobrotson":
- tripperson = "Rob Watson"
- if tripperson == "Tinywoman":
- tripperson = "Nadia"
- if tripperson == "tcacrossley":
- tripperson = "Tom Crossley"
- if tripperson == "Samouse1":
- tripperson = "Todd Rye"
-
+ # Whacky aliases all handled in GetPersonExpeditionNameLookup()
personyear = GetPersonExpeditionNameLookup(expedition).get(tripperson.lower())
if not personyear:
message = f" ! - {expedition.year} No name match for: '{tripperson}' in entry {tid=} for this expedition year."
diff --git a/parsers/people.py b/parsers/people.py
index 7820956..f5b234c 100644
--- a/parsers/people.py
+++ b/parsers/people.py
@@ -8,7 +8,6 @@ from django.conf import settings
from unidecode import unidecode
from troggle.core.models.troggle import DataIssue, Expedition, Person, PersonExpedition
-from troggle.core.utils import save_carefully
"""These functions do not match how the stand-alone folk script works. So the script produces an HTML file which has
href links to pages in troggle which troggle does not think are right.
@@ -74,17 +73,15 @@ def load_people_expos():
headers = next(personreader)
header = dict(list(zip(headers, list(range(len(headers))))))
- # make expeditions
- print(" - Loading expeditions")
years = headers[5:]
+ nexpos = Expedition.objects.count()
+ if nexpos <= 0:
+ print(" - Creating expeditions")
+ for year in years:
+ lookupAttribs = {"year": year}
+ nonLookupAttribs = {"name": f"CUCC expo {year}"}
+ e = Expedition.objects.create(**nonLookupAttribs, **lookupAttribs)
- for year in years:
- lookupAttribs = {"year": year}
- nonLookupAttribs = {"name": f"CUCC expo {year}"}
-
- save_carefully(Expedition, lookupAttribs, nonLookupAttribs)
-
- # make persons
print(" - Loading personexpeditions")
for personline in personreader:
@@ -116,7 +113,7 @@ def load_people_expos():
lookupAttribs = {"first_name": firstname, "last_name": (lastname or "")}
nonLookupAttribs = {"is_vfho": vfho, "fullname": fullname, "nickname": nickname}
- person, created = save_carefully(Person, lookupAttribs, nonLookupAttribs)
+ person = Person.objects.create(**nonLookupAttribs, **lookupAttribs)
parse_blurb(personline=personline, header=header, person=person)
@@ -126,7 +123,7 @@ def load_people_expos():
if attended == "1" or attended == "-1":
lookupAttribs = {"person": person, "expedition": expedition}
nonLookupAttribs = {"nickname": nickname, "is_guest": (personline[header["Guest"]] == "1")}
- save_carefully(PersonExpedition, lookupAttribs, nonLookupAttribs)
+ pe = PersonExpedition.objects.create(**nonLookupAttribs, **lookupAttribs)
print("", flush=True)
@@ -289,8 +286,19 @@ def GetPersonExpeditionNameLookup(expedition):
possnames.append("eric c. landgraf")
possnames.append("eric c landgraf")
if f"{f} {l}" == "Nadia Raeburn".lower():
+ possnames.append("tinywoman")
possnames.append("nadia rc")
possnames.append("nadia raeburn-cherradi")
+ if f"{f} {l}" == "Phil Wigglesworth".lower():
+ possnames.append("wiggy")
+ if f"{f} {l}" == "Elaine Oliver".lower():
+ possnames.append("cavingpig")
+ if f"{f} {l}" == "Tom Crossley".lower():
+ possnames.append("tcacrossley")
+ if f"{f} {l}" == "Rob Watson".lower():
+ possnames.append("nobrotson")
+ if f"{f} {l}" == "Todd Rye".lower():
+ possnames.append("samouse1")
for i in [3, 4, 5, 6]:
lim = min(i, len(f) + 1) # short form, e.g. Dan for Daniel.