diff options
-rw-r--r-- | app.py | 15 | ||||
-rw-r--r-- | templates/beerpage.jinja2 | 42 |
2 files changed, 30 insertions, 27 deletions
@@ -35,8 +35,7 @@ def get_brewery_list(brewery_id): @app.route('/brewery/<brewery_id>/<beer_id>', methods=['GET', 'POST']) def get_beer_details(brewery_id, beer_id): - beer_result, brewery_name = beer_lookup(brewery_id, beer_id) - beerinfo = BeerInfo(beer_result, brewery_name, brewery_id + '-' +beer_id) + beerinfo = beer_lookup(brewery_id, beer_id) attrs = ['Burnt', 'Bready', 'Malty', 'Dark', 'Floral', 'Hoppy', 'Dank', 'Grassy', 'Boozy', 'Warming', 'Bitter', 'Wheaty', 'Sour', 'Barnyardy', 'Woody', 'Smoky', 'Roasty', 'Yeasty', 'Sweet', @@ -52,10 +51,11 @@ def get_beer_details(brewery_id, beer_id): def beer_lookup(brewery_id, beer_id): - item_id = brewery_id + "-" + beer_id try: + item_id = brewery_id + "-" + beer_id beer_result = beer[item_id] - return beer_result, brewery_names[brewery_id] + brewer = brewery_names[brewery_id] + return BeerInfo(beer_id, brewery_id, beer_result, brewer) except: return None @@ -68,15 +68,16 @@ def find_beers_from_brewery(brewery_id): class BeerInfo(object): - def __init__(self, item_json, brewery_name, beer_id): - self._id = beer_id + def __init__(self, beer_id, brewery_id, item_json, brewery_name): + self.id = beer_id + self.brewery_id = brewery_id self.parent_style = item_json[1][1] self.base_style = item_json[1][0] self.name = item_json[0] self.abv = item_json[2] self.brewer = brewery_name self.num_reviews = item_json[3] - self.drinks_like = get_drinks_like(self._id) + self.drinks_like = get_drinks_like(brewery_id + '-' + beer_id) class Brewery(object): diff --git a/templates/beerpage.jinja2 b/templates/beerpage.jinja2 index 0e96dec..f6e0b2e 100644 --- a/templates/beerpage.jinja2 +++ b/templates/beerpage.jinja2 @@ -18,30 +18,32 @@ </tr> </table> </div> - <form action="" method="post" class="form-inline"> - <p> - Show me beers which are - <select name="direction" class="form-control"> - <option {% if direction == '3' %}selected{% endif %} value="3">Much more</option> - <option {% if direction == '2' %}selected{% endif %} value="2">More</option> - <option {% if direction == '1' %}selected{% endif %} value="1">Little more</option> - <option {% if direction == '-1' %}selected{% endif %} value="-1">Little less</option> - <option {% if direction == '-2' %}selected{% endif %} value="-2">Less</option> - <option {% if direction == '-3' %}selected{% endif %} value="-3">Much less</option> - </select> - <select name="attr" class="form-control"> - {% for a in attrs %} - <option {% if a == attr %}selected{% endif %} value="{{ a }}">{{ a }}</option> - {% endfor %} - </select> - <input type="submit" value="Go" class="btn btn-outline-primary"> - </p> + <form action="" method="post" class="form-inline alert alert-secondary"> + Show me beers which are + <select name="direction" class="form-control"> + <option {% if direction == '3' %}selected{% endif %} value="3">Much more</option> + <option {% if direction == '2' %}selected{% endif %} value="2">More</option> + <option {% if direction == '1' %}selected{% endif %} value="1">Little more</option> + <option {% if direction == '-1' %}selected{% endif %} value="-1">Little less</option> + <option {% if direction == '-2' %}selected{% endif %} value="-2">Less</option> + <option {% if direction == '-3' %}selected{% endif %} value="-3">Much less</option> + </select> + <select name="attr" class="form-control"> + {% for a in attrs %} + <option {% if a == attr %}selected{% endif %} value="{{ a }}">{{ a }}</option> + {% endfor %} + </select> + <input type="submit" value="Go" class="btn btn-outline-primary"> </form> {% if direction and attr %} <h5>Beers like {{ beer_data.name }} but {{ direction }} {{ attr }}</h5> <ul> - {% for similar_beer in similar_beers %} - <li>{{ similar_beer }}</li> + {% for sb in similar_beers %} + <li> + <a href="{{ url_for('get_beer_details', brewery_id=sb.brewery_id, beer_id=sb.id) }}"> + {{ sb.name }} ({{ sb.base_style }} by {{ sb.brewer }}) + </a> + </li> {% endfor %} </ul> {% endif %} |