summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--core/forms.py2
-rw-r--r--core/models/caves.py1
-rw-r--r--parsers/caves.py17
-rw-r--r--parsers/locations.py2
-rw-r--r--templates/cave.html2
-rw-r--r--urls.py2
6 files changed, 13 insertions, 13 deletions
diff --git a/core/forms.py b/core/forms.py
index 1c2c299..ffeaa11 100644
--- a/core/forms.py
+++ b/core/forms.py
@@ -185,7 +185,7 @@ class EntranceForm(ModelForm):
model = Entrance
exclude = (
"cached_primary_slug",
- "filename",
+ "filename"
)
def clean(self):
diff --git a/core/models/caves.py b/core/models/caves.py
index 01ec4a3..1c9eaf7 100644
--- a/core/models/caves.py
+++ b/core/models/caves.py
@@ -251,7 +251,6 @@ class Entrance(TroggleModel):
photo = models.TextField(blank=True, null=True)
slug = models.SlugField(max_length=50, unique=True, default="default_slug_id")
underground_description = models.TextField(blank=True, null=True)
- url = models.CharField(max_length=300, blank=True, null=True)
tag_station = models.TextField(blank=True, null=True)
other_station = models.TextField(blank=True, null=True)
diff --git a/parsers/caves.py b/parsers/caves.py
index 4580e82..de843ae 100644
--- a/parsers/caves.py
+++ b/parsers/caves.py
@@ -551,10 +551,9 @@ def read_entrance(filename, ent=None):
ent.other_description=other_description[0]
ent.other_station=other_station[0]
ent.photo=photo[0]
- # ent.slug=slugs[0]
+ # ent.slug=slugs[0] # set algorithically
ent.tag_station=tag_station[0]
ent.underground_description=underground_description[0]
- ent.url=url[0]
for st in [ent.other_station, ent.tag_station]:
#validate_station(st)
@@ -604,12 +603,15 @@ def read_cave(filename, cave=None):
letter = getXML(e, "letter", maxItems=1, context=context)[0]
if len(entrances) > 1 and letter =="":
- # user error, but we can recover
+ # Usually the second entrance is 'b', but the first is still unlettered. So probably 'a'
letter = eslug[-1].lower()
if letter.lower() not in list(string.ascii_lowercase):
- letter = "x"
- message = f"- Warning - Empty 'letter' field for '{eslug}' in multiple-entrance cave '{cave}', setting to {letter}."
- DataIssue.objects.create(parser="entrances", message=message, url=f"{cave.url}_cave_edit/")
+ letter = "a"
+ message = f"- Warning - Empty 'letter' field for '{eslug}' in multiple-entrance cave '{cave}', setting to {letter}."
+ #eurl = f"{cave.url}_cave_edit/"
+ eurl = Path(cave.url).parent + f"{cave.slug()}_cave_edit/"
+ # edit recognizer: (?P<path>.*)/(?P<slug>[^/]+)_cave_edit/$
+ DataIssue.objects.create(parser="entrances", message=message, url=eurl)
print(message)
if len(entrances) == 1 and not eslug: # may be empty: <entranceslug></entranceslug>
@@ -821,8 +823,7 @@ def read_cave(filename, cave=None):
cave.extent=extent[0]
cave.survex_file=survex_file[0]
cave.description_file=description_file[0]
- # cave.url=url[0]
- # override url in file. We now have a standard canonical form:
+ # cave.url=url[0] # set algorithically:
cave.url = f"{cave.areacode}/{cave.number()}/{cave.number()}.html"
check_directory(cave.areacode, cave.number(), cave.url, cave)
diff --git a/parsers/locations.py b/parsers/locations.py
index a8ad980..6a9c658 100644
--- a/parsers/locations.py
+++ b/parsers/locations.py
@@ -137,7 +137,7 @@ def validate_entrance_stations(ent=None):
"""
nonlocal bads
nonlocal good
- # {% url "editentrance" ent.entrance.url_parent cave.slug ent.entrance.slug %}
+ # {% url "editentrance" cave.slug ent.entrance.slug %}
# e.g. url = f"/1623/101/1623-101:{ent}_entrance_edit"
cavelist = ent.cavelist()
if len(cavelist) == 1:
diff --git a/templates/cave.html b/templates/cave.html
index a04bb93..746c257 100644
--- a/templates/cave.html
+++ b/templates/cave.html
@@ -137,7 +137,7 @@
Id letter: '{{ ent.entranceletter|safe}}'
{% if ent.entrance.name %}
{{ ent.entrance.name|safe }}
- {% endif %}<a class="editlink" href="{% if local %}https://expo.survex.com{% endif %}{% url "editentrance" ent.entrance.url_parent cave.slug ent.entrance.slug %}">Edit this entrance</a>
+ {% endif %}<a class="editlink" href="{% if local %}https://expo.survex.com{% endif %}{% url "editentrance" cave.slug ent.entrance.slug %}">Edit this entrance</a>
<dl>
{% if ent.entrance.marking %}
<dt>Marking</dt><dd>{{ ent.entrance.marking_val|safe }}</dd>
diff --git a/urls.py b/urls.py
index db3a8a8..51322f4 100644
--- a/urls.py
+++ b/urls.py
@@ -156,7 +156,7 @@ trogglepatterns = [
# Edit caves and entrances
re_path(r'^(?P<path>.*)/(?P<slug>[^/]+)_cave_edit/$', edit_cave, name="edit_cave"), # edit_cave needed by cave.html template for url matching
- re_path(r'^(?P<path>.*)/(?P<caveslug>[^/]+):(?P<entslug>[^:]+)_entrance_edit', edit_entrance, name = "editentrance"), #edit existing entrance
+ re_path(r'^(?P<caveslug>[^/]+):(?P<entslug>[^:]+)_entrance_edit', edit_entrance, name = "editentrance"), #edit existing entrance
re_path(r'^(?P<path>.*)/(?P<caveslug>[^/]+)_entrance_new$', edit_entrance, name = "newentrance"), # new entrance for a cave
re_path(r'^(.*)_edit$', editexpopage, name="editexpopage"),