summaryrefslogtreecommitdiff
path: root/app/main.py
diff options
context:
space:
mode:
Diffstat (limited to 'app/main.py')
-rw-r--r--app/main.py19
1 files changed, 14 insertions, 5 deletions
diff --git a/app/main.py b/app/main.py
index 9dc9b5b..b01c212 100644
--- a/app/main.py
+++ b/app/main.py
@@ -1,18 +1,27 @@
from flask import *
from tinydb import TinyDB
+import psycopg2
+import os
app = Flask(__name__)
+def conn():
+ return psycopg2.connect(os.environ.get("DATABASE_URL") or "dbname=questbook user=postgres")
+
+def table_to_dict(table):
+ return { "email": table[0], "name": table[1], "message": table[2] }
@app.route("/")
def home():
- posts = get_db().all()
+ cur = conn().cursor()
+ cur.execute("SELECT email, name, message FROM messages;")
+ posts = map(table_to_dict, cur.fetchall())
return render_template("home.html", posts = posts)
@app.route("/message", methods=["POST"])
def create_message():
form = request.form
- get_db().insert({ "name": form["name"], "email": form["email"], "message": form["message"]})
+ local_conn = conn()
+ cur = local_conn.cursor()
+ cur.execute("insert into messages (email, name, message)\n values (%s, %s, %s)", (form["email"], form["name"], form["message"]))
+ local_conn.commit()
return redirect("/")
-
-def get_db():
- return TinyDB("db.json").table("messages")