diff options
Diffstat (limited to 'parsers/caves.py')
-rw-r--r-- | parsers/caves.py | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/parsers/caves.py b/parsers/caves.py index 19b5549..cc9d22d 100644 --- a/parsers/caves.py +++ b/parsers/caves.py @@ -160,7 +160,13 @@ def create_new_cave(svxpath, svxid=None, msg=None): DataIssue.objects.create(parser="caves", message=message) print(message) return caves[0] - + + 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} " + DataIssue.objects.create(parser="caves", message=message, url=url) + print(message) + return urltest[0] try: cave = do_pending_cave(k, caveid, url, areacode, msg) except: @@ -191,7 +197,7 @@ def do_ARGE_cave(slug, caveid, areacode, svxid): urltest = Cave.objects.filter(url=url) if urltest: - message = f" ! Cave {urltest[0]} already exists with this url {url}. Can't create new ARGE cave {slug}" + message = f" ! Cave {urltest[0]} already exists with this url {url}. Can't create new ARGE cave {slug} from {svxid}" DataIssue.objects.create(parser="caves", message=message, url=url) print(message) return urltest[0] @@ -725,10 +731,18 @@ def read_cave(filename, cave=None): contextguess = f"/{slug[0:4]}/{slug}_cave_edit/" # guess as we havent read areacode yet + urltest = Cave.objects.filter(url=url) + if urltest: + message = f" ! - URL duplicate {urltest[0]} already exists with proposed url {url}. Should not create new cave {slug} from {filename}" + DataIssue.objects.create(parser="caves", message=message, url=contextguess) + print(message) + manual_edit = True if not cave: # we are parsing using databaseReset.py not an online edit + # we have already checked for uniqueness so we do not need the 'update' thinggy manual_edit = False + try: cave, state = Cave.objects.update_or_create(filename=filename) # replace with slug when CaveSlug tidied up except: @@ -780,7 +794,7 @@ def read_cave(filename, cave=None): cave.url=url[0] check_slug(cave.areacode,cave.kataster_number, cave.unofficial_number, cave.url) - + entrances = getXML(cavecontents, "entrance", context=context) do_entrances() # print(f"- {entrances_xslug=}") |