diff options
-rw-r--r-- | app.py | 18 | ||||
-rw-r--r-- | templates/beerpage.jinja2 | 22 |
2 files changed, 29 insertions, 11 deletions
@@ -3,7 +3,7 @@ from flask import render_template from flask import redirect from flask import request from flask import url_for -from utils import get_closest +from utils import get_closest, translate_to_attr import json import random import re @@ -37,13 +37,14 @@ def get_brewery_list(brewery_id): @app.route('/brewery/<brewery_id>/<beer_id>', methods=['GET', 'POST']) def get_beer_details(brewery_id, beer_id): result, brewery_name = beer_lookup(brewery_id, beer_id) - beerinfo = BeerInfo(brewery_id+'-'+beer_id, brewery_name, result) + full_id = brewery_id+'-'+beer_id + beerinfo = BeerInfo(full_id, brewery_name, result) attrs = ['Burnt', 'Bready', 'Malty', 'Dark', 'Floral', 'Hoppy', 'Dank', 'Grassy', 'Boozy', 'Warming', 'Bitter', 'Wheaty', 'Sour', 'Barnyardy', 'Woody', 'Smoky', 'Roasty', 'Yeasty', 'Sweet', 'Juicy', 'Light', 'Thin', 'Spicy', 'Dry', 'Fruity', 'Herbal', 'Salty'] - similar_beers = get_closest(brewery_id + '-' + beer_id) + similar_beers = get_closest(full_id) similar_beer_objects = [] for item in similar_beers: item_result, item_brewer = beer_lookup(item) @@ -52,8 +53,15 @@ def get_beer_details(brewery_id, beer_id): if request.method == 'POST': attr = request.form['attr'] direction = request.form['direction'] - return render_template('beerpage.jinja2', beer_data=beerinfo, attrs=attrs, - similar_beers=similar_beer_objects, attr=attr, direction=direction) + attr_beers = translate_to_attr(full_id, attr, int(direction)) + attr_beer_objects = [] + for item in attr_beers: + item_result, item_brewer = beer_lookup(item[0]) + attr_beer_objects.append(BeerInfo(item[0], item_brewer, item_result)) + return render_template('beerpage.jinja2', beer_data=beerinfo, + attrs=attrs, similar_beers=similar_beer_objects, attr=attr, + direction=direction, attr_beers=attr_beer_objects) + return render_template('beerpage.jinja2', beer_data=beerinfo, attrs=attrs, similar_beers=similar_beer_objects) diff --git a/templates/beerpage.jinja2 b/templates/beerpage.jinja2 index abb6f62..7c11dc8 100644 --- a/templates/beerpage.jinja2 +++ b/templates/beerpage.jinja2 @@ -18,6 +18,13 @@ </tr> </table> </div> + <h5>Beers like {{ beer_data.name }}</h5> + <ul> + {% for similar_beer in similar_beers %} + <li><a href="{{ similar_beer.link }}" >{{ similar_beer.name }}</a></li> + {% endfor %} + </ul> + <form action="" method="post" class="form-inline alert alert-secondary"> Show me beers which are <select name="direction" class="form-control"> @@ -35,11 +42,14 @@ </select> <input type="submit" value="Go" class="btn btn-outline-primary"> </form> - <h5>Beers like {{ beer_data.name }}</h5> - <ul> - {% for similar_beer in similar_beers %} - <li><a href="{{ similar_beer.link }}" >{{ similar_beer.name }}</a></li> - {% endfor %} - </ul> + + {% if attr_beers %} + <h5>Beers like {{ beer_data.name }} but {{ direction }} {{ attr }}</h5> + <ul> + {% for attr_beer in attr_beers %} + <li><a href="{{ attr_beer.link }}" >{{ attr_beer.name }}</a></li> + {% endfor %} + </ul> + {% endif %} {% endblock %} |