summaryrefslogtreecommitdiffstats
path: root/core/models
diff options
context:
space:
mode:
Diffstat (limited to 'core/models')
-rw-r--r--core/models/caves.py14
-rw-r--r--core/models/wallets.py7
2 files changed, 19 insertions, 2 deletions
diff --git a/core/models/caves.py b/core/models/caves.py
index 3193f2b..b3f6dfe 100644
--- a/core/models/caves.py
+++ b/core/models/caves.py
@@ -62,6 +62,20 @@ class CaveAndEntrance(models.Model):
# class CaveSlug(models.Model):
# moved to models/logbooks.py to avoid cyclic import problem. No I don't know why either.
+def get_cave_leniently(caveid):
+ try:
+ c = getCave(caveid)
+ if c:
+ return c
+ except:
+ # print(f"get_cave_leniently FAIL {caveid}")
+ try:
+ c = getCave("1623-"+caveid)
+ if c:
+ return c
+ except:
+ return None
+
class Cave(TroggleModel):
# (far) too much here perhaps,
areacode = models.CharField(max_length=4, blank=True, null=True) # could use models.IntegerChoices
diff --git a/core/models/wallets.py b/core/models/wallets.py
index 3078e2d..0382adb 100644
--- a/core/models/wallets.py
+++ b/core/models/wallets.py
@@ -11,7 +11,7 @@ from django.db import models
from django.urls import reverse
from troggle.core.models.troggle import DataIssue
-from troggle.core.views.caves import get_cave_leniently
+from troggle.core.models.caves import get_cave_leniently
# from troggle.core.models.survex import SurvexBlock
# from troggle.core.models.troggle import DataIssue # circular import. Hmm
@@ -133,6 +133,9 @@ class Wallet(models.Model):
# we do not use URL_ROOT any more.
return reverse("singlewallet", kwargs={"path": re.sub("#", "%23", self.walletname)})
+ def get_url(self):
+ return f"/walletedit/{self.walletname}".replace('#', ':')
+
def get_json(self):
"""Read the JSON file for the wallet and do stuff
Do it every time it is queried, to be sure the result is fresh.. well, no.
@@ -150,7 +153,7 @@ class Wallet(models.Model):
fp = Path(self.fpath)
wname = fp.name
wyear = fp.parent.name
- wurl = f"/walletedit/{self.walletname}".replace('#', ':')
+ wurl = self.get_url()
if len(wyear) != 4 or len(wname) !=6:
# no contents.json for old-style wallets