mirror of
https://expo.survex.com/repositories/troggle/.git
synced 2025-12-17 14:27:12 +00:00
attmept to catch upper case in entrance filenames
This commit is contained in:
@@ -474,10 +474,11 @@ def read_entrance(filename, ent=None):
|
|||||||
context = filename
|
context = filename
|
||||||
|
|
||||||
# Derive the letter, entrance slug and cave slug from the filename
|
# Derive the letter, entrance slug and cave slug from the filename
|
||||||
|
# only use lower case, even if the filename is uppercase.
|
||||||
entslug_fn = filename[:-5] # remove .html
|
entslug_fn = filename[:-5] # remove .html
|
||||||
if entslug_fn[-1] in LETTERS:
|
if entslug_fn[-1].lower() in LETTERS:
|
||||||
caveslug_fn = entslug_fn[:-1]
|
caveslug_fn = entslug_fn[:-1]
|
||||||
letter_fn = entslug_fn[-1]
|
letter_fn = entslug_fn[-1].lower()
|
||||||
else:
|
else:
|
||||||
caveslug_fn = entslug_fn
|
caveslug_fn = entslug_fn
|
||||||
letter_fn = ""
|
letter_fn = ""
|
||||||
@@ -654,19 +655,12 @@ def read_cave(filename, mvf=None, cave=None):
|
|||||||
if len(eslugs) < 1:
|
if len(eslugs) < 1:
|
||||||
print(f"TYPO IN cave_data file <entrance> tag contents\n <entrance> contents: {e}\n {eslugs=}")
|
print(f"TYPO IN cave_data file <entrance> tag contents\n <entrance> contents: {e}\n {eslugs=}")
|
||||||
eslug = eslugs[0]
|
eslug = eslugs[0]
|
||||||
# if eslug.endswith(('a','b','c','d','e','f')):
|
|
||||||
# print(f"! Entrance {eslug}")
|
|
||||||
# if eslug.endswith('a b'):
|
|
||||||
# message = f' - Entrance has weird name slug:"{eslug}" cave:"{cave}" caveslug:"{slug}" filename:"cave_data/{filename}"'
|
|
||||||
# DataIssue.objects.create(parser="xEntrances", message=message, url=f"{cave.url}_cave_edit/")
|
|
||||||
# print(message)
|
|
||||||
|
|
||||||
letter = getXML(e, "letter", maxItems=1, context=context)[0]
|
letter = getXML(e, "letter", maxItems=1, context=context)[0]
|
||||||
|
|
||||||
if len(entrances) > 1 and letter =="":
|
if len(entrances) > 1 and letter =="":
|
||||||
# Usually the second entrance is 'b', but the first is still unlettered. So probably 'a'
|
# Usually the second entrance is 'b', but the first is still unlettered. So probably 'a'
|
||||||
letter = eslug[-1].lower()
|
letter = eslug[-1].lower()
|
||||||
if letter.lower() not in list(string.ascii_lowercase):
|
if letter.lower() not in LETTERS:
|
||||||
letter = "a"
|
letter = "a"
|
||||||
message = f"- Warning - Empty 'letter' field for '{eslug}' in multiple-entrance cave '{cave}', setting to {letter}."
|
message = f"- Warning - Empty 'letter' field for '{eslug}' in multiple-entrance cave '{cave}', setting to {letter}."
|
||||||
#eurl = f"{cave.url}_cave_edit/"
|
#eurl = f"{cave.url}_cave_edit/"
|
||||||
@@ -686,12 +680,29 @@ def read_cave(filename, mvf=None, cave=None):
|
|||||||
else:
|
else:
|
||||||
# print(f"eslug {eslug} looking up entrance ")
|
# print(f"eslug {eslug} looking up entrance ")
|
||||||
try:
|
try:
|
||||||
|
entrance_count = Entrance.objects.filter(slug=eslug).count()
|
||||||
|
except:
|
||||||
|
message = f"! Fail entrance count {eslug}. {entrance_count=}"
|
||||||
|
print(message)
|
||||||
|
if entrance_count == 1:
|
||||||
entrance = Entrance.objects.get(slug=eslug)
|
entrance = Entrance.objects.get(slug=eslug)
|
||||||
entrances_xslug[eslug] = entrance
|
entrances_xslug[eslug] = entrance
|
||||||
except:
|
else:
|
||||||
message = f"! Fail entrance loading {eslug} /entrance_data/{eslug} file does not exist or loading it from {filename} failed."
|
message = f"! Entrance count {entrance_count=} for {eslug}. "
|
||||||
DataIssue.objects.create(parser="entrances", message=message, url=f"{cave.url}_cave_edit/")
|
print(message)
|
||||||
print(message)
|
eslug = eslug[:-1] + eslug[-1].upper()
|
||||||
|
entrance_count = Entrance.objects.filter(slug=eslug).count()
|
||||||
|
message = f"! Entrance count {entrance_count=} for uppercase variant {eslug}. "
|
||||||
|
print(message)
|
||||||
|
if entrance_count == 1:
|
||||||
|
entrance = Entrance.objects.get(slug=eslug)
|
||||||
|
entrances_xslug[eslug] = entrance
|
||||||
|
message = f"! Warning entrance loading {eslug} only exists as upper case variant "
|
||||||
|
DataIssue.objects.create(parser="entrances", message=message, url=f"{cave.url}_cave_edit/")
|
||||||
|
else:
|
||||||
|
message = f"! Fail entrance loading {eslug}. Probably /entrance_data/{eslug} file does not exist or loading it from {filename} failed."
|
||||||
|
DataIssue.objects.create(parser="entrances", message=message, url=f"{cave.url}_cave_edit/")
|
||||||
|
print(message)
|
||||||
print(e)
|
print(e)
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user