summaryrefslogtreecommitdiff
path: root/app.py
diff options
context:
space:
mode:
authorschneefux <schneefux+commit@schneefux.xyz>2016-05-28 20:19:15 +0200
committerschneefux <schneefux+commit@schneefux.xyz>2016-05-28 20:19:15 +0200
commit30d350d10a3e740f4440c469d642f49165ce994c (patch)
tree07787121b762f5eacda19b847aafebee9107f6ab /app.py
parent240da696e2e9c857aa738f685024afc1fc3d8003 (diff)
downloadjokevote-30d350d10a3e740f4440c469d642f49165ce994c.tar.gz
jokevote-30d350d10a3e740f4440c469d642f49165ce994c.zip
add pagination
Diffstat (limited to 'app.py')
-rw-r--r--app.py16
1 files changed, 13 insertions, 3 deletions
diff --git a/app.py b/app.py
index 225c167..78c97f2 100644
--- a/app.py
+++ b/app.py
@@ -35,8 +35,12 @@ class dbProxy(object):
score = 1/interactions * (joke["upvotes"]+1)/interactions
return score
- def getJokes(self):
- jokes = self.c.execute("SELECT * FROM jokes").fetchall()
+ def getPages(self, perpage):
+ l = self.c.execute("SELECT COUNT(*) FROM jokes").fetchone()['COUNT(*)']
+ return int(l/perpage)+1
+
+ def getJokes(self, perpage, page):
+ jokes = self.c.execute("SELECT * FROM jokes LIMIT ? OFFSET ?", (perpage, perpage*page)).fetchall()
jokes = sorted(jokes, key=self.sort, reverse=True)
return jokes
@@ -64,6 +68,7 @@ def db():
return db
app = Flask(__name__)
+PERPAGE = 10
@app.teardown_appcontext
def close_db(exception):
@@ -73,7 +78,12 @@ def close_db(exception):
@app.route('/')
def root():
- return render_template('index.html', jokes=db().getJokes())
+ return page(0)
+
+@app.route('/page/<int:num>')
+def page(num):
+ numpages = db().getPages(PERPAGE)
+ return render_template('index.html', currentpage=num, pages=[[]]*numpages, jokes=db().getJokes(PERPAGE, num))
@app.route('/submit', methods=['POST'])
def submit():