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())
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'))
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]
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, )
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())
def search_results(query): results = Post.search(query) return render_template('search_results.html', query=query, posts=results, )