aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Cohen <ben@kensho.com>2019-07-28 14:01:54 -0400
committerBen Cohen <ben@kensho.com>2019-07-28 14:01:54 -0400
commit150be03c35a1794f5a2ea330411361cf40fc91e7 (patch)
tree7d1e07d1fcd94e6bc288d3baa96b32dc239cf5a0
parentb7bd395b891dbef721f13f6e5a7de3961a0b492e (diff)
parenta60be578d65dd0e06e468623412814d861b6e8d7 (diff)
merge
-rw-r--r--app.py12
-rw-r--r--templates/beerpage.jinja240
-rw-r--r--templates/similar.jinja22
3 files changed, 37 insertions, 17 deletions
diff --git a/app.py b/app.py
index f772b32..bd903e1 100644
--- a/app.py
+++ b/app.py
@@ -1,6 +1,7 @@
from flask import Flask
from flask import render_template
from flask import redirect
+from flask import request
from flask import url_for
import json
import random
@@ -8,7 +9,7 @@ import re
app = Flask(__name__)
-with open("./data/beers.json") as beers_json:
+with open("./data/beer_info.json") as beers_json:
beer = json.loads(beers_json.read())
with open('./data/brewery_names.json', 'w') as f:
@@ -31,7 +32,7 @@ def get_brewery_list(brewery_id):
return json.dumps(find_beers_from_brewery(brewery_id))
-@app.route('/brewery/<brewery_id>/<beer_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)
@@ -40,6 +41,12 @@ def get_beer_details(brewery_id, beer_id):
'Barnyardy', 'Woody', 'Smoky', 'Roasty', 'Yeasty', 'Sweet',
'Juicy', 'Light', 'Thin', 'Spicy', 'Dry', 'Fruity', 'Herbal',
'Salty']
+ if request.method == 'POST':
+ similar_beers = []
+ attr = request.form['attr']
+ direction = request.form['direction']
+ return render_template('beerpage.jinja2', beer_data=beerinfo, attrs=attrs,
+ similar_beers=similar_beers, attr=attr, direction=direction)
return render_template('beerpage.jinja2', beer_data=beerinfo, attrs=attrs)
@@ -66,6 +73,7 @@ class BeerInfo(object):
self.name = item_json[0]
self.abv = item_json[2]
self.brewer = brewery_name
+ self.num_reviews = item_json[3]
class Brewery(object):
diff --git a/templates/beerpage.jinja2 b/templates/beerpage.jinja2
index c99045d..f16660c 100644
--- a/templates/beerpage.jinja2
+++ b/templates/beerpage.jinja2
@@ -18,20 +18,32 @@
</tr>
</table>
</div>
- <div class="row">
- <select>
- <option value="3">Much more</option>
- <option value="2">More</option>
- <option value="1">Little more</option>
- <option value="-1">Little less</option>
- <option value="-2">Less</option>
- <option value="-3">Much less</option>
- </select>
- <select>
- {% for attr in attrs %}
+ <form action="" method="post">
+ <p>
+ Show me beers which are
+ <select name="direction">
+ <option value="3">Much more</option>
+ <option value="2">More</option>
+ <option value="1">Little more</option>
+ <option value="-1">Little less</option>
+ <option value="-2">Less</option>
+ <option value="-3">Much less</option>
+ </select>
+ <select name="attr">
+ {% for attr in attrs %}
<option value="{{ attr }}"> {{ attr }}</option>
- {% endfor %}
- </select>
- </div>
+ {% endfor %}
+ </select>
+ <input type="submit" value="Go">
+ </p>
+ </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>
+ {% endfor %}
+ </ul>
+ {% endif %}
{% endblock %}
diff --git a/templates/similar.jinja2 b/templates/similar.jinja2
index b7a57f7..4bdd748 100644
--- a/templates/similar.jinja2
+++ b/templates/similar.jinja2
@@ -1,6 +1,6 @@
{% extends "base.html" %}
{% block content %}
-<h1>Similar Beers</h1>
+<h1>Beers Like {{ orig }} but {{ dir }} {{ attr }}</h1>
<ul>
{% for beer in beers %}
<li>{{ beer }}</li>