summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--core/views/caves.py21
-rw-r--r--parsers/caves.py16
2 files changed, 20 insertions, 17 deletions
diff --git a/core/views/caves.py b/core/views/caves.py
index 187517c..82ab5d2 100644
--- a/core/views/caves.py
+++ b/core/views/caves.py
@@ -372,8 +372,8 @@ def edit_cave(request, path="", slug=None):
cave = Cave()
if request.POST:
form = CaveForm(request.POST, instance=cave)
- ceFormSet = CaveAndEntranceFormSet(request.POST)
- if form.is_valid() and ceFormSet.is_valid():
+ #ceFormSet = CaveAndEntranceFormSet(request.POST)
+ if form.is_valid(): # and ceFormSet.is_valid():
# print(f'! POST is valid. {cave}')
cave = form.save(commit=False)
if not cave.filename:
@@ -385,10 +385,10 @@ def edit_cave(request, path="", slug=None):
if slug is None:
cs = CaveSlug(cave=cave, slug=cave.reference(), primary=True)
cs.save()
- ceinsts = ceFormSet.save(commit=False)
- for ceinst in ceinsts:
- ceinst.cave = cave
- ceinst.save()
+ #ceinsts = ceFormSet.save(commit=False)
+ #for ceinst in ceinsts:
+ # ceinst.cave = cave
+ # ceinst.save()
try:
cave_file = cave.file_output()
write_and_commit([cave_file], f"Online edit of cave {cave}")
@@ -407,13 +407,14 @@ def edit_cave(request, path="", slug=None):
else:
if slug is not None:
# re-read cave data from file.
- read_cave(cave.filename, cave=cave)
+ if cave.filename:
+ read_cave(cave.filename, cave=cave)
form = CaveForm(instance=cave, initial={'cave_slug': cave.slug()})
- ceFormSet = CaveAndEntranceFormSet(queryset=cave.caveandentrance_set.all())
+ #ceFormSet = CaveAndEntranceFormSet(queryset=cave.caveandentrance_set.all())
else:
form = CaveForm()
- ceFormSet = CaveAndEntranceFormSet(queryset=CaveAndEntrance.objects.none())
+ #ceFormSet = CaveAndEntranceFormSet(queryset=CaveAndEntrance.objects.none())
return render(
request,
@@ -422,7 +423,7 @@ def edit_cave(request, path="", slug=None):
"form": form,
"cave": cave,
"message": message,
- "caveAndEntranceFormSet": ceFormSet,
+ #"caveAndEntranceFormSet": ceFormSet,
"path": path + "/",
},
)
diff --git a/parsers/caves.py b/parsers/caves.py
index 06b77c9..5c6b5ac 100644
--- a/parsers/caves.py
+++ b/parsers/caves.py
@@ -146,10 +146,10 @@ def create_new_cave(svxpath):
# double check
if a[0:3] == "162":
areanum = a[0:4]
- url = f"{areanum}/{a[5:]}" # Note we are not appending the .htm as we are modern folks now.
+ url = f"{areanum}/{a[5:]}.html" # Note we are appending the .html as we are believe in backwards compatability.
else:
areanum = "1623"
- url = f"1623/{k}"
+ url = f"1623/{k}.html"
k = f"{areanum}-{caveid}"
area = get_area(areanum)
@@ -162,7 +162,7 @@ def create_new_cave(svxpath):
return caves[0]
try:
- cave = do_pending_cave(k, url, area)
+ cave = do_pending_cave(k, caveid, url, area)
except:
message = f" ! Error. Cannot create pending cave and entrance, pending-id:{k} in area {areanum}"
DataIssue.objects.create(parser="caves", message=message)
@@ -174,7 +174,7 @@ def create_new_cave(svxpath):
cave.save()
return cave
-def do_pending_cave(k, url, area):
+def do_pending_cave(k, caveid, url, area):
"""
default for a PENDING cave, should be overwritten in the db later if a real cave of the same name exists
in expoweb/cave_data/1623-"k".html
@@ -266,7 +266,7 @@ def do_pending_cave(k, url, area):
survex_file = get_survex_file(k)
cave = Cave(
- unofficial_number=k,
+ unofficial_number=caveid,
underground_description="Pending cave write-up - creating as empty object. No XML file available yet.",
survex_file=survex_file,
url=url,
@@ -718,14 +718,16 @@ def readcaves():
if k[0:3] == "162":
areanum = k[0:4]
- url = f"{areanum}/{k[5:]}" # Note we are not appending the .htm as we are modern folks now.
+ number = k[5:]
+ url = f"{areanum}/{k[5:]}.html" # Note we are appending the .htm to allow for offline websites
else:
areanum = "1623"
+ number = k
url = f"1623/{k}"
area = get_area(areanum)
try:
- do_pending_cave(k, url, area)
+ do_pending_cave(k, number, url, area)
except:
message = f" ! Error. Cannot create pending cave and entrance, pending-id:{k} in area {areanum}"
DataIssue.objects.create(parser="caves", message=message)