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

detect misplaced entrances

This commit is contained in:
2025-01-26 23:18:02 +00:00
parent f1682367ee
commit 6d25f70491

View File

@@ -151,7 +151,7 @@ def create_new_cave(svxpath, svxid=None, msg=None):
urltest = Cave.objects.filter(url=url)
if urltest:
message = f" ! Cave {urltest[0]} already exists with this url {url}. Can't create new cave {slug} from {svxpath} "
message = f" ! Cave {urltest[0]} already exists with this url {url}. Can't create new cave {areacode}-{caveid} from {svxpath} "
DataIssue.objects.create(parser="caves", message=message, url=url)
print(message)
return urltest[0]
@@ -493,16 +493,19 @@ def read_entrance(filename, ent=None):
print(message)
# New system 2024, create the Cave object when parsing Entrances, not Caves
cave = make_cave(caveslug_fn)
# try:
# cs = CaveSlug.objects.update_or_create(cave=cave, slug=caveslug_fn, primary=True)
# except Exception as ex:
# #raise
# # This fails to do an update! It just crashes.. to be fixed
# message = f" ! Entrances: CaveSlug {cave} update/create failure : {caveslug_fn}, skipping cave_data file {filename} with exception\nException: {ex.__class__}"
# DataIssue.objects.create(parser="caves", message=message, url=context)
# print(message)
# can't use alias lookup as caves not loaded yet.
cave_data_file = Path(CAVEDESCRIPTIONS) / f"{caveslug_fn}.html"
if cave_data_file.is_file():
cave = make_cave(caveslug_fn)
else:
message = f' ! ENTRANCE without matching CAVE cave_data/{caveslug_fn}.html in "entrance_data/{filename}". '
for cslug in [caveslug_fn.lower(), caveslug_fn.upper()]:
cave_data_file = Path(CAVEDESCRIPTIONS) / f"{cslug}.html"
if cave_data_file.is_file():
cave = make_cave(cslug)
message = f' ! ENTRANCE BAD upper/lower case cave_data/{caveslug_fn}.html in "entrance_data/{filename}". '
DataIssue.objects.create(parser="entrances", message=message, url=ent_edit_url)
print(message)
entrancecontentslist = getXML(contents, "entrance", maxItems=1, context=context)
if len(entrancecontentslist) != 1: