Esempio n. 1
0
def blog():
    entries = EntryModel.query().order(-EntryModel.timestamp)

    form = None
    if users.is_current_user_admin():
        form = EntryForm()
    return { 'entries' : entries, 'form' : form }
Esempio n. 2
0
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 }
Esempio n. 3
0
    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
        }