diff options
| -rw-r--r-- | app.py | 14 | ||||
| -rw-r--r-- | templates/index.html | 4 |
2 files changed, 5 insertions, 13 deletions
@@ -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/<int:num>') 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 %} <ul class="collection"> - {% for joke in jokes %} + {% for joke in jokes[currentpage*perpage:(currentpage+1)*perpage] %} <li class="collection-item row valign-wrapper"> <div class="col s4 m2 valign"> {% if not joke.deleted %} @@ -113,7 +113,7 @@ <div class="section center"> <ul class="pagination"> <li{% if currentpage==0 %} class="disabled"{% endif %}><a href="/page/{{ currentpage-1 }}"><i class="material-icons">chevron_left</i></a></li> - {% for page in pages %} + {% for page in range(jokes|length//perpage+1) %} <li{% if currentpage==loop.index0 %} class="active"{% endif %}><a href="/page/{{ loop.index0 }}">{{ loop.index }}</a></li> {% endfor %} <li{% if currentpage==loop.length-1 %} class="disabled"{% endif %}><a href="/page/{{ currentpage+1 }}"><i class="material-icons">chevron_right</i></a></li> |
