mirror of
https://expo.survex.com/repositories/troggle/.git
synced 2025-12-17 17:37:08 +00:00
fixing cave slug <caveslug> issues
This commit is contained in:
@@ -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"
|
||||
|
||||
Reference in New Issue
Block a user