diff options
author | Philip Sargent <philip.sargent@klebos.com> | 2021-04-15 01:52:09 +0100 |
---|---|---|
committer | Philip Sargent <philip.sargent@klebos.com> | 2021-04-15 01:52:09 +0100 |
commit | 38a63641bc91cbd4d454aaa186501113bdabeaf2 (patch) | |
tree | dce5fb0b1ef11a00fa692e5ecb0e30b3b5a62efd /parsers/caves.py | |
parent | 5c4a33873fe06a4ea1e19a4068690344ba65427f (diff) | |
download | troggle-38a63641bc91cbd4d454aaa186501113bdabeaf2.tar.gz troggle-38a63641bc91cbd4d454aaa186501113bdabeaf2.tar.bz2 troggle-38a63641bc91cbd4d454aaa186501113bdabeaf2.zip |
abort messages when parsing caves
Diffstat (limited to 'parsers/caves.py')
-rw-r--r-- | parsers/caves.py | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/parsers/caves.py b/parsers/caves.py index ba8f60e..cd62fa2 100644 --- a/parsers/caves.py +++ b/parsers/caves.py @@ -191,6 +191,10 @@ def readentrance(filename): k.notes = "DUPLICATE entrance found on import. Please fix\n" + k.notes c = k primary = False + else: # more than one item in long list + message = f' ! {slug:12} ABORT loading this entrance. in "{filename}"' + DataIssue.objects.create(parser='caves', message=message, url=f'/cave/{slug}/edit/') + print(message) def readcave(filename): '''Assumes any area it hasn't seen before is a subarea of 1623 @@ -232,6 +236,7 @@ def readcave(filename): description_file = getXML(cavecontents, "description_file", maxItems = 1, context = context) url = getXML(cavecontents, "url", maxItems = 1, context = context) entrances = getXML(cavecontents, "entrance", context = context) + if len(non_public) == 1 and len(slugs) >= 1 and len(official_name) == 1 and len(areas) >= 1 and len(kataster_code) == 1 and len(kataster_number) == 1 and len(unofficial_number) == 1 and len(explorers) == 1 and len(underground_description) == 1 and len(equipment) == 1 and len(references) == 1 and len(survey) == 1 and len(kataster_status) == 1 and len(underground_centre_line) == 1 and len(notes) == 1 and len(length) == 1 and len(depth) == 1 and len(extent) == 1 and len(survex_file) == 1 and len(description_file ) == 1 and len(url) == 1 and len(entrances) >= 1: try: c, state = Cave.objects.update_or_create(non_public = {"True": True, "False": False, "true": True, "false": False,}[non_public[0]], @@ -324,18 +329,22 @@ def readcave(filename): print(message) #c.description_file="" # done only once, to clear out cruft. #c.save() + else: # more than one item in long list + message = f' ! {slug:12} ABORT loading this cave. in "{filename}"' + DataIssue.objects.create(parser='caves', message=message, url=f'/cave/{slug}/edit/') + print(message) def getXML(text, itemname, minItems = 1, maxItems = None, printwarnings = True, context = ""): items = re.findall("<%(itemname)s>(.*?)</%(itemname)s>" % {"itemname": itemname}, text, re.S) if len(items) < minItems and printwarnings: - message = " ! %(count)i %(itemname)s found, at least %(min)i expected" % {"count": len(items), + message = " ! %(count)i x %(itemname)s found, at least %(min)i expected. Load ABORT. " % {"count": len(items), "itemname": itemname, "min": minItems} + " in file " + context DataIssue.objects.create(parser='caves', message=message, url=""+context) print(message) if maxItems is not None and len(items) > maxItems and printwarnings: - message = " ! %(count)i %(itemname)s found, no more than %(max)i expected in this XML unit " % {"count": len(items), + message = " ! %(count)i x %(itemname)s found, no more than %(max)i expected in this XML unit. Load ABORT. " % {"count": len(items), "itemname": itemname, "max": maxItems} + " in file " + context DataIssue.objects.create(parser='caves', message=message) |