summaryrefslogtreecommitdiffstats
path: root/core/models/caves.py
diff options
context:
space:
mode:
Diffstat (limited to 'core/models/caves.py')
-rw-r--r--core/models/caves.py14
1 files changed, 12 insertions, 2 deletions
diff --git a/core/models/caves.py b/core/models/caves.py
index 433ef87..a731dff 100644
--- a/core/models/caves.py
+++ b/core/models/caves.py
@@ -265,13 +265,16 @@ class Entrance(TroggleModel):
return str(self.slug)
def single(self, station):
+ if not station:
+ return None
try:
single = SurvexStation.objects.get(name = station)
return single
except:
stations = SurvexStation.objects.filter(name = station)
- print(f" # MULTIPLE stations found with same name '{station}' in Entrance {self}:")
+ print(f" # EXCEPTION looking for '{station}' in all stations. (Entrance {self})")
if len(stations) > 1:
+ print(f" # MULTIPLE stations found with same name '{station}' in Entrance {self}:")
for s in stations:
print(f" # {s.id=} - {s.name} {s.latlong()}") # .id is Django internal field, not one of ours
return stations[0]
@@ -357,6 +360,8 @@ class Entrance(TroggleModel):
def tag(self):
return self.single(self.tag_station)
+ def other(self):
+ return self.single(self.other_station)
def needs_surface_work(self):
return self.findability != "S" or not self.has_photo or self.marking != "T"
@@ -371,7 +376,12 @@ class Entrance(TroggleModel):
if e.cave:
rs.append(e.cave)
return rs
-
+
+ def firstcave(self):
+ for e in CaveAndEntrance.objects.filter(entrance=self):
+ if e.cave:
+ return(e.cave)
+
def get_file_path(self):
return Path(settings.ENTRANCEDESCRIPTIONS, self.filename)