diff options
Diffstat (limited to 'core/views/caves.py')
-rw-r--r-- | core/views/caves.py | 25 |
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" |