aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Burwell <ben@benburwell.com>2019-07-28 13:55:47 -0400
committerBen Burwell <ben@benburwell.com>2019-07-28 13:56:01 -0400
commita60be578d65dd0e06e468623412814d861b6e8d7 (patch)
tree2d867e35e230b5710b8005c16dee20224a46e214
parentdd4104ff80c4613482a5de8a98fff5687e5f2b13 (diff)
Post the shit
-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 d80811e..5af79cd 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())
@@ -28,7 +29,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 = beer_lookup(brewery_id, beer_id)
beerinfo = BeerInfo(beer_result)
@@ -37,6 +38,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)
@@ -62,6 +69,7 @@ class BeerInfo(object):
self.base_style = item_json[1][0]
self.name = item_json[0]
self.abv = item_json[2]
+ self.num_reviews = item_json[3]
class Brewery(object):
diff --git a/templates/beerpage.jinja2 b/templates/beerpage.jinja2
index 6202422..92bb896 100644
--- a/templates/beerpage.jinja2
+++ b/templates/beerpage.jinja2
@@ -17,20 +17,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>