summaryrefslogtreecommitdiffstats
path: root/core/views/caves.py
diff options
context:
space:
mode:
Diffstat (limited to 'core/views/caves.py')
-rw-r--r--core/views/caves.py25
1 files changed, 15 insertions, 10 deletions
diff --git a/core/views/caves.py b/core/views/caves.py
index 8d44b5c..5a28101 100644
--- a/core/views/caves.py
+++ b/core/views/caves.py
@@ -93,7 +93,7 @@ def pad5(x):
def padnumber(x):
- return re.sub("\d+", pad5, x)
+ return re.sub("\d+", pad5, x) # SyntaxWarning: invalid escape sequence '\d'
def numericalcmp(x, y):
@@ -102,7 +102,7 @@ def numericalcmp(x, y):
def caveKey(c):
"""This function goes into a lexicographic sort function, and the values are strings,
- but we want to sort numberically on kataster number before sorting on unofficial number.
+ but we want to sort numerically on kataster number before sorting on unofficial number.
"""
if not c.kataster_number:
return "9999." + c.unofficial_number
@@ -284,7 +284,7 @@ def rendercave(request, cave, slug, cave_id=""):
print(f" ! rendercave: slug:'{slug}' FAIL TO MANAGE survex file:'{cave.survex_file}'")
# NOTE the template itself loads the 3d file using javascript before it loads anything else.
# Django cannot see what this javascript is doing, so we need to ensure that the 3d file exists first.
- # So only do this render if a valid .3d file exists. TO BE DONE -Not yet as CaveView is currently disabled
+ # So only do this render if a valid .3d file exists. TO BE DONE
# see design docum in troggle/templates/cave.html
# see rendercave() in troggle/core/views/caves.py
templatefile = "cave.html"
@@ -507,10 +507,11 @@ def edit_entrance(request, path="", caveslug=None, entslug=None):
"""
slugname = f"{slug}{letter}"
nents = Entrance.objects.filter(slug=slugname).count()
- print(f"NUM ents {slugname=} => {nents}")
+ print(f"check_new_slugname_ok() {slugname=} {letter=} => {nents}")
if nents == 0:
# looks good, but we need to check the CaveaAndEntrance object too
e = entrance #Entrance.objects.get(slug=slugname) # does not exist yet!
+ e.save()
gcl = GetCaveLookup()
c = gcl[slug]
nce = CaveAndEntrance.objects.filter(cave=c, entrance=e).count()
@@ -593,12 +594,16 @@ def edit_entrance(request, path="", caveslug=None, entslug=None):
entrance = entform.save(commit=False)
# entrance = ce.entrance # the one we created earlier?
- if entranceletter:
- slugname, letter = check_new_slugname_ok(cave.slug(), entranceletter)
- else:
- slugname, letter = check_new_slugname_ok(cave.slug(), "")
- ce.entranceletter = letter
-
+ try:
+ if entranceletter:
+ slugname, letter = check_new_slugname_ok(cave.slug(), entranceletter)
+ else:
+ slugname, letter = check_new_slugname_ok(cave.slug(), "")
+ ce.entranceletter = letter
+
+ except Exception as e:
+ print(f"- EXCEPTION entranceletter {caveslug=} {entslug=} {entranceletter=} {path=}\n{e}")
+ raise
entrance.slug = slugname
entrance.cached_primary_slug = slugname
entrance.filename = slugname + ".html"