diff options
-rw-r--r-- | core/forms.py | 2 | ||||
-rw-r--r-- | core/models/caves.py | 1 | ||||
-rw-r--r-- | parsers/caves.py | 17 | ||||
-rw-r--r-- | parsers/locations.py | 2 | ||||
-rw-r--r-- | templates/cave.html | 2 | ||||
-rw-r--r-- | urls.py | 2 |
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> @@ -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"), |