diff --git a/src/humulus/filters.py b/src/humulus/filters.py index 8266739..a8e2d24 100644 --- a/src/humulus/filters.py +++ b/src/humulus/filters.py @@ -111,6 +111,29 @@ def recipe_srm(recipe): return '{:.0f}'.format(1.4922 * (mcu**0.6859)) +def sort_hops(hops, form=False): + """Sorts a list of hops by use in recipe.""" + by_use = {'FWH': [], 'Boil': [], 'Whirlpool': [], 'Dry-Hop': []} + + # Split hops into each use type. + for hop in hops: + if form: + by_use[hop.use.data].append(hop) + else: + by_use[hop['use']].append(hop) + + if form: + key = lambda hop: float(hop.duration.data) + else: + key = lambda hop: float(hop['duration']) + + hops_sorted = sorted(by_use['FWH'], key=key, reverse=True) + hops_sorted.extend(sorted(by_use['Boil'], key=key, reverse=True)) + hops_sorted.extend(sorted(by_use['Whirlpool'], key=key, reverse=True)) + hops_sorted.extend(sorted(by_use['Dry-Hop'], key=key, reverse=True)) + return hops_sorted + + def create_filters(app): app.add_template_filter(recipe_og) app.add_template_filter(recipe_fg) @@ -118,3 +141,4 @@ def create_filters(app): app.add_template_filter(recipe_ibu_ratio) app.add_template_filter(recipe_abv) app.add_template_filter(recipe_srm) + app.add_template_filter(sort_hops) diff --git a/src/humulus/styles.py b/src/humulus/styles.py index 5424ef8..1b32a68 100644 --- a/src/humulus/styles.py +++ b/src/humulus/styles.py @@ -108,7 +108,6 @@ def get_styles_list(): view = get_view('_design/styles', 'by-category') styles = [['', '']] for row in view(include_docs=False)['rows']: - print(row) styles.append([row['id'], '{}{} {}'.format( row['key'][0], row['key'][1], diff --git a/src/humulus/templates/recipes/_macros.html b/src/humulus/templates/recipes/_macros.html index 6b04beb..a7f99a6 100644 --- a/src/humulus/templates/recipes/_macros.html +++ b/src/humulus/templates/recipes/_macros.html @@ -51,7 +51,7 @@ function getSpecsURL() { -#}