Exemple #1
0
def post_detail(request, pid):
    post = Post.get(pid=pid)
    post.composers = post.get_composers()
    first_composer = post.composers[0]
    first_composer.posts = get_posts_by_cid(
        first_composer.cid, 6)  # get the first 6 videos of the author
    return render(request, 'post.html', locals())
Exemple #2
0
def delete(id):
    post = Post.by_id(id)
    if post.author.id != g.user.id:
        flash(gettext('You cannot delete this post.'))
        return redirect(url_for('index'))
    db.session.delete(post)
    db.session.commit()
    flash(gettext("Your post has been deleted."))
    return redirect(url_for('index'))
Exemple #3
0
def get_posts_by_cid(cid, num=0):
    cache_key = 'cr_cid_%s' % cid
    posts = [pickle.loads(i) for i in r.lrange(cache_key, 0, -1)]
    if not posts:
        cr_list = Copyright.objects.filter(cid=cid)
        for cr in cr_list:
            post = Post.get(pid=cr.pid)
            post.roles = cr.roles
            posts.append(post)
            r.lpush(cache_key, pickle.dumps(post))
    return posts[:num or -1]
Exemple #4
0
def index():
    form = PostForm()
    if form.validate_on_submit():
        post = Post(
            body=form.post.data,
            timestamp=datetime.utcnow(),
            author=g.user,
            language=form.language(),
        )
        db.session.add(post)
        db.session.commit()
        flash(gettext('Your post is now live!'))
        return redirect(url_for('index'))

    moviefeed = Movie.by_random().limit(app.config.get('MOVIES_PER_PAGE',
                                                       0)).all()

    try:
        moviepage = int(request.args.get('movies', 1))
    except ValueError:
        moviepage = 1
    movies = Movie.ordered(session.get('sort_by')).paginate(
        moviepage, app.config.get('BRIEF_MOVIES_PER_PAGE', 6), False)

    try:
        personpage = int(request.args.get('persons', 1))
    except ValueError:
        personpage = 1
    persons = Person.alphabet().paginate(
        personpage, app.config.get('BRIEF_PERSONS_PER_PAGE', 6), False)

    try:
        postpage = int(request.args.get('page', 1))
    except ValueError:
        postpage = 1
    if g.user.is_authenticated:
        q = g.user.followed_posts()
    else:
        q = Post.query
    posts = q.paginate(postpage, app.config.get('POSTS_PER_PAGE', 3), False)

    return render_template(
        "index.html",
        title="Home",
        movies=movies,
        persons=persons,
        posts=posts,
        form=form,
        moviefeed=moviefeed,
    )
Exemple #5
0
def post_detail(request, pid):
    post = Post.get(pid=pid)
    composer = post.first_composer
    composer.posts = get_posts_by_cid(composer.cid, 6)
    return render(request, 'post.html', locals())
Exemple #6
0
def search_results(query):
    results = Post.search(query)
    return render_template('search_results.html',
                           query=query,
                           posts=results,
                           )