Пример #1
0
def blog_edit(blog_id):
    query = BlogEntry.getAll()
    query = BlogEntry.addBlogIdFilter(query, blog_id)
    
    if not query.one().username == session['username']:
        return abort(401)

    g.session = session
    g.blog_entry = query.one()
    g.blog_name = config.blog_name
    g.blog_subtitle = config.blog_subtitle
    g.title = 'Edit entry: %s' %(g.blog_entry.name)

    return render_template('edit.html', g=g)
Пример #2
0
def blog_update(blog_id):
    query = BlogEntry.getAll()
    query = BlogEntry.addBlogIdFilter(query, blog_id)
    blog_entry = query.one()

    if not blog_entry.username == session['username']:
        return abort(401)

    need_update = False

    headline = request.form.get('headline', blog_entry.headline)

    if headline != blog_entry.headline:
        blog_entry.headline = headline
        need_update = True

    payload = request.form.get('payload', blog_entry.payload)

    if payload != blog_entry.payload:
        blog_entry.changePayload(payload)
        need_update = True

    new_tags = set()
    str_new_tags = request.form.get('tags', 'Untagged')
    if not str_new_tags:
        str_new_tags = 'Untagged'

    for tag in str_new_tags.split(','):
        new_tags.add(tag.rstrip().lstrip())

    old_tags = set(t.name for t in blog_entry.tags)
    if new_tags != old_tags:
        blog_entry.tags = []
        for tag in new_tags:
            blog_entry.addTag(tag)
        need_update = True

    if need_update:
        blog_entry.updateModifiedDate()
        db.session.add(blog_entry)
        db.session.commit()
    
    return redirect('/blog/by/id/%s' %(blog_entry.id))
Пример #3
0
def blog_by_id(blog_id):
    
    query = BlogEntry.getAll()
    query = BlogEntry.addBlogIdFilter(query, blog_id)
    query = query.paginate(1, per_page=max_per_page)

    if 'page' in request.path:
        endpoint = request.path.rsplit('/', 1)[0]
    else:
        endpoint = os.path.join(request.path, 'page')

    g.session = session
    g.paginate = query
    g.endpoint = endpoint
    g.blog_name = config.blog_name
    g.title = '%s' %(g.paginate.items[0].name)
    g.blog_subtitle = config.blog_subtitle
    g.tags = get_used_tags()
    return render_template('child.html', g=g)