Example #1
0
def edit_story(story_id):
    form = PostForm()
    story = Story.query.get(story_id)
    if form.validate_on_submit():
        story.title = form.title.data
        story.content = form.post.data
        story.author = current_user
        story.tags = tag_request(request.form['tags'])
        media = media_request(request.files)
        for medium in media['photo']:
            img = Media(type='Image',
                        name=medium['filename'],
                        filename=medium['filename'],
                        url=medium['url'],
                        related_story=story)
            db.session.add(img)

        db.session.add(story)
        db.session.commit()
        flash('Your story is now updated')
        return redirect(url_for('main.index'))
    elif request.method == 'GET':
        form.title.data = story.title
        form.post.data = story.html_content
        tag_placeholders = ', '.join([t.name for t in story.tags])
        return render_template('story.html',
                               title="What's new?",
                               form=form,
                               story=story,
                               tags=tag_placeholders)
Example #2
0
def index():
    form = PostForm()
    if form.validate_on_submit():
        language = guess_language(form.post.data)
        if language == 'UNKNOWN' or len(language) > 5:
            language = ''
        post = Post(body=form.post.data,
                    author=current_user,
                    language=language)
        db.session.add(post)
        db.session.commit()
        flash(_('Your post is now live!'))
        return redirect(url_for('main.index'))
    page = request.args.get('page', 1, type=int)
    posts = current_user.followed_posts().paginate(
        page, current_app.config['POSTS_PER_PAGE'], False)
    next_url = url_for('main.index', page=posts.next_num) \
        if posts.has_next else None
    prev_url = url_for('main.index', page=posts.prev_num) \
        if posts.has_prev else None
    return render_template('index.html',
                           title=_('Home'),
                           form=form,
                           posts=posts.items,
                           next_url=next_url,
                           prev_url=prev_url)
Example #3
0
def index():
    form = PostForm()
    if form.validate_on_submit():
        language = guess_language(form.post.data)
        if language == 'UNKNOWN' or len(language) > 5:
            language = ''

        post = Post(body=form.post.data,
                    author=current_user,
                    language=language)
        db.session.add(post)
        db.session.commit()
        flash(_('Your post is now live!'))
        return redirect(url_for('main.index'))

    # pagination
    page = request.args.get('page', 1, type=int)
    posts = current_user.followed_posts().paginate(
        page, current_app.config['POSTS_PER_PAGE'], False)

    next_url = url_for('main.index',
                       page=posts.next_num) if posts.has_next else None
    prev_url = url_for('main.index',
                       page=posts.prev_num) if posts.has_prev else None
    """
    render_template() invokes the Jinja2 template engine that comes bundled with
    the Flask framework, substituting {{ ... }} blocks with the corresponding
    values, given by the arguments provided in the render_template() call."""
    return render_template('index.html',
                           title=_('Home'),
                           form=form,
                           posts=posts.items,
                           next_url=next_url,
                           prev_url=prev_url)
Example #4
0
def story():
    form = PostForm()
    if form.validate_on_submit():
        media = media_request(request.files)
        tags = tag_request(request.form['tags'])

        story = Story(title=form.title.data,
                      content=form.post.data,
                      author=current_user,
                      tags=tags)
        for medium in media['photo']:
            img = Media(type='Image',
                        name=medium['filename'],
                        filename=medium['filename'],
                        url=medium['url'],
                        related_story=story)
            db.session.add(img)

        db.session.add(story)
        db.session.commit()
        flash('Your story is now published')
        return redirect(url_for('main.index'))
    return render_template('story.html', form=form)