From 052e4966c77ff4a47a99296ca1bbb39a8b11e8e9 Mon Sep 17 00:00:00 2001 From: schneefux Date: Fri, 10 Jun 2016 17:57:54 +0200 Subject: handle pagination in template --- app.py | 14 +++----------- templates/index.html | 4 ++-- 2 files changed, 5 insertions(+), 13 deletions(-) diff --git a/app.py b/app.py index 5a41f10..07a6ea8 100644 --- a/app.py +++ b/app.py @@ -138,12 +138,7 @@ class dbProxy(object): d[col[0]] = row[idx] return d - def getPages(self, perpage, user): - l = len(self.getJokes(user=user))-1 - return int(l/perpage)+1 - - def getJokes(self, perpage=None, page=None, user=None, sortby='rank'): - # perpage, page: only return subset for pagination + def getJokes(self, user=None, sortby='rank'): # user: return with user-specific attributes, also return deleted jokes # sortby: rank - calculated by score and freshness, score - only score ret_jokes = [] @@ -203,8 +198,6 @@ class dbProxy(object): sorter = lambda j: j['score'] ret_jokes = sorted(ret_jokes, key=sorter, reverse=True) - if page != None and perpage != None: - return ret_jokes[page*perpage:(page+1)*perpage] return ret_jokes def addUser(self, name, password): @@ -314,13 +307,12 @@ def userid(): @app.route('/page/') def page(num): - numpages = db().getPages(PERPAGE, userid()) - jokes = db().getJokes(PERPAGE, num, userid()) + jokes = db().getJokes(userid()) user = {'loggedin': False} if 'userlogin' in session: user['loggedin'] = True user['name'] = session['userlogin'] - r = make_response(render_template('index.html', currentpage=num, pages=[[]]*numpages, jokes=jokes, user=user)) + r = make_response(render_template('index.html', currentpage=num, perpage=PERPAGE, jokes=jokes, user=user)) r.headers.set('X-SmoothState-Location', request.path) return r diff --git a/templates/index.html b/templates/index.html index db3cbda..6957d21 100644 --- a/templates/index.html +++ b/templates/index.html @@ -50,7 +50,7 @@ {% endif %} {% endwith %}