def get_comments(): params = converts_keys(request.args.to_dict(), case='snake') set_filter_params(DEFAULT_COMMENT_LIMIT, MAX_COMMENT_LIMIT, params) cookies = request.cookies if 'token' in cookies: with connect(DSN) as connection: with connection.cursor(cursor_factory=RealDictCursor) as cursor: cursor.execute(Users.get_user_id(), cookies) record = cursor.fetchone() user_id = record['user_id'] else: user_id = 0 with connect(DSN) as connection: with connection.cursor(cursor_factory=RealDictCursor) as cursor: cursor.execute(Comments.filter(**params), { 'user_id': user_id, **params }) comments = cursor.fetchall() cursor.execute(Comments.count(**params), params) record = cursor.fetchone() for comment in comments: put_out_author(comment) return jsonify( converts_keys({ 'comments': comments, **record }, case='camel'))