diff --git a/squawker/.DS_Store b/squawker/.DS_Store new file mode 100644 index 0000000..d5429b1 Binary files /dev/null and b/squawker/.DS_Store differ diff --git a/squawker/schema.sql b/squawker/schema.sql index 5e67ffb..904a58d 100644 --- a/squawker/schema.sql +++ b/squawker/schema.sql @@ -1,3 +1,6 @@ -- TODO change this -DROP TABLE IF EXISTS mytable; -CREATE TABLE mytable (id integer); +DROP TABLE IF EXISTS entries; +CREATE TABLE entries ( + id integer primary key autoincrement, + squawk varchar(140) NOT NULL +); \ No newline at end of file diff --git a/squawker/server.py b/squawker/server.py index 6ff24ba..8e4a05b 100644 --- a/squawker/server.py +++ b/squawker/server.py @@ -1,7 +1,5 @@ -from flask import Flask, g +from flask import Flask, g, request, redirect, url_for, abort, render_template import sqlite3 - - # -- leave these lines intact -- app = Flask(__name__) @@ -38,11 +36,24 @@ def close_connection(exception): @app.route('/') -def root(): - conn = get_db() +def show_entries(): + db = get_db() # TODO change this - return "Hello World!" - + cur = db.execute('SELECT id, squawk FROM entries ORDER BY id DESC') + entries = cur.fetchall() + return render_template('show_entries.html', entries=entries) + + +@app.route('/add', methods=['POST']) +def add_entry(): + squawk = request.form['text'] + if len(squawk) > 140: + abort(400) + return + db = get_db() + db.execute('INSERT INTO entries (squawk) VALUES (?)', [squawk]) + db.commit() + return redirect(url_for('show_entries')) if __name__ == '__main__': app.run() diff --git a/squawker/templates/layout.html b/squawker/templates/layout.html new file mode 100644 index 0000000..8470e0a --- /dev/null +++ b/squawker/templates/layout.html @@ -0,0 +1,7 @@ + +