summaryrefslogtreecommitdiff
path: root/app/main.py
blob: b01c212fa919a499ee8227229e57351c4aaa9c38 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
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():
    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
    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("/")