diff options
author | Philip Sargent <philip.sargent@klebos.com> | 2021-04-16 16:01:35 +0100 |
---|---|---|
committer | Philip Sargent <philip.sargent@klebos.com> | 2021-04-16 16:01:35 +0100 |
commit | 49277216bafa0db559705943342e30b1a5934369 (patch) | |
tree | 28c12027b9e18d2b895d858d7d2bf233405fa0af /core/views/caves.py | |
parent | 16ef4fa9fb5be0bf72ab13bcebefe2d77b902d2f (diff) | |
download | troggle-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.py | 18 |
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 = [] |