def wrapped(**kwargs): user = session.get('user') if not user: return jsonify({'r': 403, 'msg': 'Login required.'}) post_id = kwargs.pop('post_id', None) if post_id is not None: post = Post.cache(post_id) if not post: return jsonify({'r': 1, 'msg': 'Post not exist.'}) args = (user, post) else: args = (user, ) return f(*args, **kwargs)
def comments(post_id): post = Post.cache(post_id) if not post: return jsonify({'r': 1, 'msg': 'Post not exist.'}) page = int(request.args.get('page', 1)) per_page = int(request.args.get('per_page', 20)) start = (page - 1) * per_page comments = post.comments[start:start + per_page] user = session.get('user') liked_comment_ids = post.comment_ids_liked_by(user['gid']) template = get_template_attribute('utils.html', 'render_comments') return jsonify({ 'r': 0, 'html': template(comments, user), 'liked_comment_ids': liked_comment_ids })