diff --git a/squawker/schema.sql b/squawker/schema.sql index 5e67ffb..41e2417 100644 --- a/squawker/schema.sql +++ b/squawker/schema.sql @@ -1,3 +1,2 @@ --- TODO change this -DROP TABLE IF EXISTS mytable; -CREATE TABLE mytable (id integer); +DROP TABLE IF EXISTS squaks; +CREATE TABLE squaks (id integer primary key, squak TEXT); diff --git a/squawker/server.py b/squawker/server.py index 6ff24ba..90de9a1 100644 --- a/squawker/server.py +++ b/squawker/server.py @@ -1,6 +1,7 @@ -from flask import Flask, g +from __future__ import print_function +from flask import Flask, g, render_template, request, redirect, url_for import sqlite3 - +import sys # -- leave these lines intact -- app = Flask(__name__) @@ -38,10 +39,39 @@ def close_connection(exception): @app.route('/') -def root(): +def root(scroll=0): + conn = get_db() + cursor = conn.cursor() + count = cursor.execute('SELECT COUNT(*) FROM squaks').fetchall()[0][0] + print("count", count, file=sys.stderr) + if request.args.get('scroll') is not None: + scroll = int(request.args.get('scroll')) + print("scroll", scroll, file=sys.stderr) + else: + scroll = 0 + print("No scrolling") + if count: + cursor.execute('SELECT * FROM squaks') + squaks = list(reversed(cursor.fetchall())) + print(squaks, scroll, file=sys.stderr) + return render_template('index.html', squaks=squaks[scroll:scroll + 20], nextButton=(count > scroll + 20), scroll=scroll) + else: + return render_template('index.html', squaks=[], nextButton=False, scroll=0) + + +@app.route('/submit', methods=['POST']) +def newSquak(): + newSquak = request.form['newSquak'] + if not newSquak or len(newSquak) > 140: + return redirect(url_for('root')) + print(newSquak, file=sys.stderr) conn = get_db() - # TODO change this - return "Hello World!" + cur = conn.cursor() + cur.execute('INSERT INTO squaks(squak) VALUES (?)', (newSquak,)) + cur.execute('SELECT * from squaks') + conn.commit() + print(cur.fetchall(), file=sys.stderr) + return redirect(url_for('root')) if __name__ == '__main__': diff --git a/squawker/templates/index.html b/squawker/templates/index.html new file mode 100644 index 0000000..1413c35 --- /dev/null +++ b/squawker/templates/index.html @@ -0,0 +1,22 @@ + + + + +

Squawk !

+

Squawk Page: {{ scroll }}

+
+
+ + +
+
+
+ {% for squak in squaks %} +

{{ squak[1] }}

+ {% endfor %} + {% if nextButton %} + + {% endif %} +
+ +