summaryrefslogtreecommitdiffstats
path: root/core/views/caves.py
diff options
context:
space:
mode:
authorPhilip Sargent <philip.sargent@klebos.com>2021-04-16 16:01:35 +0100
committerPhilip Sargent <philip.sargent@klebos.com>2021-04-16 16:01:35 +0100
commit49277216bafa0db559705943342e30b1a5934369 (patch)
tree28c12027b9e18d2b895d858d7d2bf233405fa0af /core/views/caves.py
parent16ef4fa9fb5be0bf72ab13bcebefe2d77b902d2f (diff)
downloadtroggle-49277216bafa0db559705943342e30b1a5934369.tar.gz
troggle-49277216bafa0db559705943342e30b1a5934369.tar.bz2
troggle-49277216bafa0db559705943342e30b1a5934369.zip
Fixed cave sort-order in cave index
Diffstat (limited to 'core/views/caves.py')
-rw-r--r--core/views/caves.py18
1 files changed, 11 insertions, 7 deletions
diff --git a/core/views/caves.py b/core/views/caves.py
index fdbca4a..dd621aa 100644
--- a/core/views/caves.py
+++ b/core/views/caves.py
@@ -69,14 +69,18 @@ def padnumber(x):
def numericalcmp(x, y):
return cmp(padnumber(x), padnumber(y))
-def caveKey(x):
- """python3 function for sort. Done in a hurry.
- Note that cave kataster numbers are not always integers.
- This needs to be fixed make a decent sort order.
+def caveKey(c):
+ """This function goes into a lexicogrpahic sort function, and the values are strings,
+ but we want to sort numberically on kataster number before sorting on unofficial number.
"""
- if not x.kataster_number:
- return "~"
- return x.kataster_number
+ if not c.kataster_number:
+ return "9999." + c.unofficial_number
+ else:
+ if int(c.kataster_number) >= 100:
+ return "99." + c.kataster_number
+ if int(c.kataster_number) >= 10:
+ return "9." + c.kataster_number
+ return c.kataster_number
def getnotablecaves():
notablecaves = []