diff options
author | expo <expo@expobox.potato.hut> | 2012-08-05 19:26:24 +0200 |
---|---|---|
committer | expo <expo@expobox.potato.hut> | 2012-08-05 19:26:24 +0200 |
commit | ed1d273e034b8042cc2bd09eecf307cd48966a0f (patch) | |
tree | 35d46352e01869e25b8ae94ba5b4f59d08893c0d | |
parent | 9654e5da1c8f1b455f4f5795b315851bf6fa2cea (diff) | |
download | troggle-ed1d273e034b8042cc2bd09eecf307cd48966a0f.tar.gz troggle-ed1d273e034b8042cc2bd09eecf307cd48966a0f.tar.bz2 troggle-ed1d273e034b8042cc2bd09eecf307cd48966a0f.zip |
Fixed cave order
-rw-r--r-- | core/views_caves.py | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/core/views_caves.py b/core/views_caves.py index d8ced23..90b6f5e 100644 --- a/core/views_caves.py +++ b/core/views_caves.py @@ -21,14 +21,26 @@ def getCave(cave_id): cave = Cave.objects.get(unofficial_number=cave_id) return cave +def pad5(x): + return "0" * (5 -len(x.group(0))) + x.group(0) +def padnumber(x): + return re.sub("\d+", pad5, x) +def numericalcmp(x, y): + return cmp(padnumber(x), padnumber(y)) + + + def caveCmp(x, y): if x.kataster_number: if y.kataster_number: - return cmp(x.kataster_number, y.kataster_number) + return numericalcmp(x.kataster_number, y.kataster_number) else: return -1 else: - return 1 + if y.kataster_number: + return 1 + else: + return numericalcmp(x.unofficial_number, y.unofficial_number) def caveindex(request): caves = Cave.objects.all() |