summaryrefslogtreecommitdiffstats
path: root/parsers/caves.py
diff options
context:
space:
mode:
Diffstat (limited to 'parsers/caves.py')
-rw-r--r--parsers/caves.py20
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=}")