2
0
mirror of https://expo.survex.com/repositories/troggle/.git synced 2025-12-13 20:47:08 +00:00

Fully working dj 1.11.29

This commit is contained in:
Philip Sargent
2020-06-19 16:39:05 +01:00
parent 2c469718f6
commit b35a0b0d26
9 changed files with 132 additions and 34 deletions

View File

@@ -5,6 +5,7 @@ from datetime import *
from django.conf import settings
from troggle.core.models import DataIssue
from troggle.core.models_caves import QM, Cave, LogbookEntry
from utils import save_carefully
@@ -15,19 +16,19 @@ def deleteQMs():
def parseCaveQMs(cave,inputFile):
"""Runs through the CSV file at inputFile (which is a relative path from expoweb) and saves each QM as a QM instance."""
if cave=='stein':
if cave=='204-steinBH':
try:
steinBr=Cave.objects.get(official_name="Steinbrückenhöhle")
except Cave.DoesNotExist:
print("Steinbruckenhoehle is not in the database. Please run parsers.")
return
elif cave=='hauch':
elif cave=='234-Hauch':
try:
hauchHl=Cave.objects.get(official_name="Hauchhöhle")
except Cave.DoesNotExist:
print("Hauchhoele is not in the database. Please run parsers.")
print("Hauchhoehle is not in the database. Please run parsers.")
return
elif cave =='kh':
elif cave =='161-KH':
try:
kh=Cave.objects.get(official_name="Kaninchenhöhle")
except Cave.DoesNotExist:
@@ -45,12 +46,14 @@ def parseCaveQMs(cave,inputFile):
try:
year=int(line[0][1:5])
#check if placeholder exists for given year, create it if not
if cave=='stein':
placeholder, hadToCreate = LogbookEntry.objects.get_or_create(date__year=year, title="placeholder for QMs in 204", text="QMs temporarily attached to this should be re-attached to their actual trips", defaults={"date": date(year, 1, 1),"cave":steinBr})
elif cave=='hauch':
placeholder, hadToCreate = LogbookEntry.objects.get_or_create(date__year=year, title="placeholder for QMs in 234", text="QMs temporarily attached to this should be re-attached to their actual trips", defaults={"date": date(year, 1, 1),"cave":hauchHl})
message = " ! - "+ str(year) + " logbook: placeholder entry for '" + cave + "' created. Should be re-attached to the actual trip."
if cave=='204-steinBH':
placeholder, hadToCreate = LogbookEntry.objects.get_or_create(date__year=year, place="204", title="placeholder for QMs in 204", text=message, defaults={"date": date(year, 1, 1),"cave_slug":str(steinBr)})
elif cave=='234-Hauch':
placeholder, hadToCreate = LogbookEntry.objects.get_or_create(date__year=year, place="234", title="placeholder for QMs in 234", text=message, defaults={"date": date(year, 1, 1),"cave_slug":str(hauchHl)})
if hadToCreate:
print((" - placeholder logbook entry for " + cave + " " + str(year) + " added to database"))
print(message)
DataIssue.objects.create(parser='QMs', message=message)
QMnum=re.match(r".*?-\d*?-X?(?P<numb>\d*)",line[0]).group("numb")
newQM = QM()
newQM.found_by=placeholder
@@ -97,8 +100,12 @@ def parse_KH_QMs(kh, inputFile):
if res:
res=res.groupdict()
year=int(res['year'])
#check if placeholder exists for given year, create it if not
placeholder, hadToCreate = LogbookEntry.objects.get_or_create(date__year=year, title="placeholder for QMs in 161", text="QMs temporarily attached to this should be re-attached to their actual trips", defaults={"date": date((year), 1, 1),"cave":kh})
#check if placeholder exists for given year, create it if not
message = " ! - "+ str(year) + " logbook: placeholder entry for '161 KH' created. Should be re-attached to the actual trip."
placeholder, hadToCreate = LogbookEntry.objects.get_or_create(date__year=year, place="161", title="placeholder for QMs in 161", text=message, defaults={"date": date((year), 1, 1),"cave_slug":str(kh)})
if hadToCreate:
print(message)
DataIssue.objects.create(parser='QMs', message=message)
lookupArgs={
'found_by':placeholder,
'number':res['number']
@@ -112,7 +119,7 @@ def parse_KH_QMs(kh, inputFile):
save_carefully(QM,lookupArgs,nonLookupArgs)
def Load_QMs():
parseCaveQMs(cave='stein',inputFile=r"1623/204/qm.csv")
parseCaveQMs(cave='hauch',inputFile=r"1623/234/qm.csv")
parseCaveQMs(cave='kh', inputFile="1623/161/qmtodo.htm")
parseCaveQMs(cave='204-steinBH',inputFile=r"1623/204/qm.csv")
parseCaveQMs(cave='234-Hauch',inputFile=r"1623/234/qm.csv")
parseCaveQMs(cave='161-KH', inputFile="1623/161/qmtodo.htm")
#parseCaveQMs(cave='balkonhoehle',inputFile=r"1623/264/qm.csv")