X-Git-Url: https://code.kerkeslager.com/?p=climbing.kerkeslager.com;a=blobdiff_plain;f=src%2Fclimbing%2Fmodels.py;fp=src%2Fclimbing%2Fmodels.py;h=dc1396a03cae14525868e28bcdb52f5ae0cf26f2;hp=dd2493c4bdc66e5d4c5c6ebef1d120ff5dc966b1;hb=2e5c17feaf26fb86483f78de0699c4a3162e768d;hpb=2db9b400dc1dbd5d0e1f3fa829d3d9029540b051 diff --git a/src/climbing/models.py b/src/climbing/models.py index dd2493c..dc1396a 100644 --- a/src/climbing/models.py +++ b/src/climbing/models.py @@ -61,12 +61,11 @@ class Route(models.Model): diff_index = -1 for pitch in self.pitches.all(): - for index, diff_choice in enumerate(ROUTE_DIFFICULTY_CHOICES): - if pitch.difficulty == diff_choice[0]: - if diff_index < index: - diff = pitch.difficulty - diff_index = index - break + p_diff_index = _route_difficulty_index(pitch.difficulty) + + if p_diff_index > diff_index: + diff_index = p_diff_index + diff = pitch.difficulty return diff @@ -112,6 +111,12 @@ ROUTE_DIFFICULTY_CHOICES = ( ('5.15d', '5.15d'), ) +def _route_difficulty_index(difficulty): + for i, d in enumerate(ROUTE_DIFFICULTY_CHOICES): + if difficulty == d[0]: + return i + return -1 + SAFETY_CHOICES = ( ('G', 'G'), ('PG', 'PG'),