2
0
mirror of https://expo.survex.com/repositories/troggle/.git synced 2025-12-15 21:17:07 +00:00

begun to do fields, blue

This commit is contained in:
2025-01-31 01:51:22 +00:00
parent e080610010
commit 4a0496b3b4
3 changed files with 73 additions and 30 deletions

View File

@@ -1,3 +1,4 @@
import re
from pathlib import Path
import django.forms as forms
@@ -23,6 +24,38 @@ is 'katastered', ie.e moves from an informal number, such as
"""
def kataster(request, slug):
"""Create the page which analyses how to rename a cave and all the files from the unofficial_number
identifier, e.g. 1623-2023-mg-03 to the kataster number e.g. 1623-999
"""
def do_file_finding():
global cavefilename, cave_data, entrance_data, loser_name, loser_data
cavefilename = str(cave) + ".html"
cave_data = Path( "cave_data", cavefilename )
if not (settings.CAVEDESCRIPTIONS / cavefilename).is_file: # settings.EXPOWEB / cave_data
cave_data = "does not exist"
ent_dir = settings.ENTRANCEDESCRIPTIONS # settings.EXPOWEB / "entrance_data"
entrance_data = []
for ent in ent_dir.iterdir():
if str(ent.name).startswith(str(cave)):
print(ent.name)
entrance_data.append("entrance_data/"+ent.name)
loser_name = f"caves-{str(cave.areacode)}/{str(cave.unofficial_number)}"
loser_dir = settings.SURVEX_DATA / loser_name
loser_data = []
if (loser_dir).is_dir():
print(loser_dir)
for svx in loser_dir.iterdir():
print(svx)
loser_data.append(Path(loser_dir , svx).name)
if cave := get_cave_from_slug(slug.lower()):
pass
elif cave := get_cave_from_slug(slug.upper()):
@@ -31,29 +64,25 @@ def kataster(request, slug):
return HttpResponseRedirect("/caves")
knum = 9999
filename = str(cave) + ".html"
cave_data = Path( "cave_data", filename )
if not (settings.EXPOWEB / cave_data).is_file:
cave_data = "does not exist"
do_file_finding()
ent_dir = settings.EXPOWEB / "entrance_data"
try:
# this is a python generator idiom.
# see https://realpython.com/introduction-to-python-generators/
with open(settings.CAVEDESCRIPTIONS / cavefilename, 'r') as f:
for line in f:
if match := re.search(r'<entranceslug>(.*?)</entranceslug>', line):
entrance = match.group(1)
print(entrance)
except PermissionError as e:
msg=f"CANNOT save this file.\nPERMISSIONS incorrectly set on server for this file {filepath}. Ask a nerd to fix this: {e}"
print(msg)
raise
except Exception as e:
msg=f"CANNOT write this file {filepath}. Ask a nerd to fix this: {e}"
print(msg)
entrance_data = []
for ent in ent_dir.iterdir():
if str(ent.name).startswith(str(cave)):
print(ent.name)
entrance_data.append("entrance_data/"+ent.name)
loser_name = f"caves-{str(cave.areacode)}/{str(cave.unofficial_number)}"
loser_dir = settings.SURVEX_DATA / loser_name
loser_data = []
if (loser_dir).is_dir():
print(loser_dir)
for svx in loser_dir.iterdir():
print(svx)
loser_data.append(Path(loser_dir , svx).name)
if request.method == "POST": # If the form has been submitted...
form = KatasterForm(request.POST) # A form bound to the POST data
if form.is_valid():