def blog(): entries = EntryModel.query().order(-EntryModel.timestamp) form = None if users.is_current_user_admin(): form = EntryForm() return { 'entries' : entries, 'form' : form }
def show_post(post_slug): post = EntryModel.query(EntryModel.slug == post_slug).get() if not post: return render_template('404.html'), 404 form = None if users.is_current_user_admin(): form = EntryForm(obj=post) return { 'post' : post, 'form' : form }
def get(self): parser = reqparse.RequestParser() parser.add_argument('cursor') args = parser.parse_args() curs = Cursor(urlsafe=args['cursor']) q = EntryModel.query() q_forward = q.order(-EntryModel.timestamp) q_reverse = q.order(EntryModel.timestamp) entries, next_curs, more = q_forward.fetch_page(10, start_cursor=curs) out = [] for entry in entries: out.append(Entry.format(entry)) nextCurs = "" if more: nextCurs = next_curs.urlsafe() prevCurs = "" if next_curs is not None: rev_cursor = next_curs.reversed() old_entries, prev_cursor, fewer = q_reverse.fetch_page(10, start_cursor=rev_cursor, offset=len(out)) if prev_cursor is not None: prevCurs = prev_cursor.urlsafe() return { 'meta': { 'prev_curs': prevCurs, 'curs': curs.urlsafe(), 'next_curs': nextCurs }, 'entries': out }