2
0
mirror of https://expo.survex.com/repositories/troggle/.git synced 2025-12-18 04:17:29 +00:00

Katastering, list files

This commit is contained in:
2025-01-30 18:54:15 +00:00
parent 0084412258
commit d275211aa7
2 changed files with 74 additions and 12 deletions

View File

@@ -1,8 +1,12 @@
from pathlib import Path
import django.forms as forms
from django.http import HttpResponseRedirect
from django.shortcuts import redirect, render
import troggle.settings as settings
from troggle.core.utils import (
COOKIE_MAX_AGE,
WriteAndCommitError,
@@ -19,19 +23,55 @@ is 'katastered', ie.e moves from an informal number, such as
"""
def kataster(request, slug):
cave = get_cave_from_slug(slug)
form = KatasterForm()
return render(
if cave := get_cave_from_slug(slug.lower()):
pass
elif cave := get_cave_from_slug(slug.upper()):
pass
else:
return HttpResponseRedirect("/caves")
cavename = str(cave) + ".html"
cave_data = Path( "cave_data", cavename )
if not (settings.EXPOWEB / cave_data).is_file:
cave_data = "does not exist"
ent_dir = 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)
form = KatasterForm()
return render(
request,
"cave_kataster.html",
{
"form": form,
"cave": cave,
"cave_data": cave_data, "entrance_data": entrance_data,
},
)
class KatasterForm(forms.Form):
area = forms.CharField(label='Full name', max_length=100, widget=forms.TextInput(attrs={'tabindex': 1, 'placeholder': 'Anathema Device'}))
officialname = forms.CharField(widget=forms.Textarea(attrs={'rows': 7, 'cols': 20, 'tabindex': 2, 'placeholder': 'The Airfield,\nTadfield'}))
katasternum= forms.CharField(max_length=15, widget=forms.TextInput(attrs={'tabindex': 3, 'placeholder': '+44.1234567890'}))
areacode = forms.CharField(label='Full name', max_length=4, widget=forms.TextInput(attrs={'tabindex': 1, 'placeholder': '1623'}))
official_name = forms.CharField(label='CUCC name', max_length=160,widget=forms.TextInput(attrs={'tabindex': 2, 'placeholder': '2012-ns-07'}))
kataster_number= forms.CharField(max_length=10, widget=forms.TextInput(attrs={'tabindex': 3, 'placeholder': '999'}))
"""
areacode = models.CharField(max_length=4, blank=True, null=True) # could use models.IntegerChoices
entrances = models.ManyToManyField("Entrance", through="CaveAndEntrance")
filename = models.CharField(max_length=200) # if a cave is 'pending' this is not set. Otherwise it is.
kataster_code = models.CharField(max_length=20, blank=True, null=True)
kataster_number = models.CharField(max_length=10, blank=True, null=True)
kataster_status = models.TextField(blank=True, null=True)
official_name = models.CharField(max_length=160)
survex_file = models.CharField(max_length=100, blank=True, null=True) # should be a foreign key?
SURVEX_DATA = REPOS_ROOT_PATH / "loser"
EXPOWEB = REPOS_ROOT_PATH / "expoweb"
CAVEDESCRIPTIONS = EXPOWEB / "cave_data"
ENTRANCEDESCRIPTIONS = EXPOWEB / "entrance_data"
"""