summaryrefslogtreecommitdiffstats
path: root/parsers/caves.py
diff options
context:
space:
mode:
Diffstat (limited to 'parsers/caves.py')
-rw-r--r--parsers/caves.py25
1 files changed, 14 insertions, 11 deletions
diff --git a/parsers/caves.py b/parsers/caves.py
index 25b1743..db1b949 100644
--- a/parsers/caves.py
+++ b/parsers/caves.py
@@ -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: