From 16b83d6419b9c62a8ae2896e5e001cb9627fe06a Mon Sep 17 00:00:00 2001 From: sindhu732 Date: Thu, 27 Oct 2016 23:53:37 +0000 Subject: [PATCH 1/2] final 1 --- squawker/schema.sql | 5 ++--- squawker/server.py | 37 ++++++++++++++++++++++++++++++----- squawker/templates/index.html | 22 +++++++++++++++++++++ 3 files changed, 56 insertions(+), 8 deletions(-) create mode 100644 squawker/templates/index.html 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..e0f9798 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,36 @@ 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(): + print(request.form['newSquak'], file=sys.stderr) conn = get_db() - # TODO change this - return "Hello World!" + cur = conn.cursor() + cur.execute('INSERT INTO squaks(squak) VALUES (?)', (request.form['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 %} +
+ + From 4ae00da64df9eec6e0b0d8d7aaf21afdaad15946 Mon Sep 17 00:00:00 2001 From: sindhu732 Date: Fri, 28 Oct 2016 00:19:13 +0000 Subject: [PATCH 2/2] final 2 --- squawker/server.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/squawker/server.py b/squawker/server.py index e0f9798..90de9a1 100644 --- a/squawker/server.py +++ b/squawker/server.py @@ -61,10 +61,13 @@ def root(scroll=0): @app.route('/submit', methods=['POST']) def newSquak(): - print(request.form['newSquak'], file=sys.stderr) + newSquak = request.form['newSquak'] + if not newSquak or len(newSquak) > 140: + return redirect(url_for('root')) + print(newSquak, file=sys.stderr) conn = get_db() cur = conn.cursor() - cur.execute('INSERT INTO squaks(squak) VALUES (?)', (request.form['newSquak'],)) + cur.execute('INSERT INTO squaks(squak) VALUES (?)', (newSquak,)) cur.execute('SELECT * from squaks') conn.commit() print(cur.fetchall(), file=sys.stderr)