summaryrefslogtreecommitdiff
path: root/app.py
diff options
context:
space:
mode:
Diffstat (limited to 'app.py')
-rw-r--r--app.py43
1 files changed, 43 insertions, 0 deletions
diff --git a/app.py b/app.py
new file mode 100644
index 0000000..bcc1346
--- /dev/null
+++ b/app.py
@@ -0,0 +1,43 @@
+from flask import (
+ Flask,
+ render_template,
+ request
+)
+import pymongo
+
+
+class dbProxy(object):
+ def __init__(self, mongouri):
+ self.client = pymongo.MongoClient(mongouri)
+ self.db = self.client['jokevotedb']
+
+ def getJokes(self):
+ jokes = []
+ for joke in self.db.jokes.find():
+ jokes.append(joke)
+ return jokes
+
+ def addJoke(self, text):
+ self.db.jokes.insert_one({'text': text, 'votes': 0})
+
+
+app = Flask(__name__)
+db = dbProxy(
+ 'mongodb://jokevote:jokevote@127.0.0.1:27017/jokevotedb')
+
+
+@app.route('/')
+def root():
+ jokes = db.getJokes()
+ return render_template('index.html', jokes=jokes)
+
+
+@app.route('/submit', methods=['POST'])
+def submit():
+ text = request.form['text']
+ db.addJoke(text) # TODO secure this
+ return root()
+
+
+if __name__ == '__main__':
+ app.run(debug=True)