Пример #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_name(name):
    
    query = BlogEntry.getAll()
    query = BlogEntry.addNameFilter(query, name)
    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)
Пример #4
0
def blog(page=None):
    
    if page is None:
        page = 1

    query = BlogEntry.getAll()
    query = query.paginate(page, 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 = 'Blog for'
    g.blog_subtitle = config.blog_subtitle
    g.tags = get_used_tags()
    return render_template('child.html', g=g)
Пример #5
0
def blog_by_date(year=None, month=None, day=None, page=None):

    if page is None:
        page = 1

    query = BlogEntry.getAll()

    if all((year is not None, month is not None, day is not None)):
        query = BlogEntry.addCreationDayFilter(query, year, month, day)

    elif all((year is not None, month is not None)):
        query = BlogEntry.addCreationMonthFilter(query, year, month)

    elif year is not None:
        query = BlogEntry.addCreationYearFilter(query, year)


    query = query.paginate(page, 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.BlogEntry = BlogEntry
    g.tags = get_used_tags()
    g.endpoint = endpoint
    g.blog_name = config.blog_name
    bf = 'Blog for'
    if year is not None:
        what = '/'.join(map(lambda x: str(x), filter(None, (g.year, g.month, g.day))))
    else:
        what = ''
    g.title = '%s %s' %(bf, what)
    g.blog_subtitle = config.blog_subtitle
    return render_template('child.html', g=g)