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

fixing pending caves system to be cleaner

This commit is contained in:
Philip Sargent
2022-07-28 18:36:57 +03:00
parent c29e240c2b
commit 7872e98cb2
2 changed files with 52 additions and 25 deletions

View File

@@ -84,6 +84,15 @@ def do_pending_cave(k, url, area):
in expoweb/cave_data/1623-"k".html
'''
slug = k
g = GetCaveLookup()
if slug in g:
message = f" ! {k} cave listed in pendingcaves.txt already exists."
DataIssue.objects.create(parser='caves', message=message, url=url)
print(message)
return
default_note = f"_Survex file found in loser repo but no description in expoweb <br><br><br>\n"
default_note += f"INSTRUCTIONS: First open 'This survex file' (link above the CaveView panel) to find the date and info. Then "
@@ -111,7 +120,7 @@ def do_pending_cave(k, url, area):
cave = Cave(
unofficial_number = k,
underground_description = "Pending cave write-up - creating as empty object. No XML file available yet.",
survex_file = f"caves-{area.short_name}/{k}/{k}.svx",
survex_file = f"caves-{area.short_name}/{k[5:]}/{k[5:]}.svx",
url = url,
notes = default_note)
if cave:
@@ -458,27 +467,6 @@ def readcaves():
print(" - Saving Area 1626")
area_1626.save()
print (" - Setting pending caves")
# Do this first, so that these empty entries are overwritten as they get properly created.
for k in pending:
area = area_1623
areanum = k[0:4]
url = areanum + "/" + k[5:] # Note we are not appending the .htm as we are modern folks now.
if areanum == "1623":
area = area_1623
if areanum == "1624":
area = area_1624
if areanum == "1626":
area = area_1626
try:
do_pending_cave(k[5:], url, area)
except:
message = f" ! Error. Cannot create pending cave and entrance, pending-id:{k} in area {areanum}"
DataIssue.objects.create(parser='caves', message=message)
print(message)
raise
with transaction.atomic():
print(" - settings.CAVEDESCRIPTIONS: ", CAVEDESCRIPTIONS)
@@ -498,4 +486,27 @@ def readcaves():
print (" - Setting up all the variously useful alias names")
mycavelookup = GetCaveLookup()
print (" - Setting pending caves")
# Do this last, so we can detect if they are created and no longer 'pending'
for k in pending:
area = area_1623
areanum = k[0:4]
url = areanum + "/" + k[5:] # Note we are not appending the .htm as we are modern folks now.
if areanum == "1623":
area = area_1623
if areanum == "1624":
area = area_1624
if areanum == "1626":
area = area_1626
try:
do_pending_cave(k, url, area)
except:
message = f" ! Error. Cannot create pending cave and entrance, pending-id:{k} in area {areanum}"
DataIssue.objects.create(parser='caves', message=message)
print(message)
raise