From 359294e166e73eef1965fbe65af2a9cfefd6b014 Mon Sep 17 00:00:00 2001 From: Yax <1949284+kianby@users.noreply.github.com> Date: Mon, 8 Feb 2021 18:20:13 +0100 Subject: [PATCH] remove umbrella --- stacosys/interface/api.py | 90 ++++++++++++++++----------------------- 1 file changed, 36 insertions(+), 54 deletions(-) diff --git a/stacosys/interface/api.py b/stacosys/interface/api.py index 5c6151a..a3a8dea 100644 --- a/stacosys/interface/api.py +++ b/stacosys/interface/api.py @@ -3,13 +3,13 @@ import logging from flask import abort, jsonify, request - from stacosys.interface import app from stacosys.model.comment import Comment logger = logging.getLogger(__name__) + @app.route("/ping", methods=["GET"]) def ping(): return "OK" @@ -17,61 +17,43 @@ def ping(): @app.route("/comments", methods=["GET"]) def query_comments(): - comments = [] - try: - token = request.args.get("token", "") - if token != app.config.get("SITE_TOKEN"): - abort(401) - - url = request.args.get("url", "") - - logger.info("retrieve comments for url %s" % (url)) - for comment in ( - Comment.select(Comment) - .where((Comment.url == url) & (Comment.published.is_null(False))) - .order_by(+Comment.published) - ): - d = { - "author": comment.author_name, - "content": comment.content, - "avatar": comment.author_gravatar, - "date": comment.published.strftime("%Y-%m-%d %H:%M:%S"), - } - if comment.author_site: - d["site"] = comment.author_site - logger.debug(d) - comments.append(d) - r = jsonify({"data": comments}) - r.status_code = 200 - except Exception: - logger.warn("bad request") - r = jsonify({"data": []}) - r.status_code = 400 - return r + token = request.args.get("token", "") + if token != app.config.get("SITE_TOKEN"): + abort(401) + url = request.args.get("url", "") + + logger.info("retrieve comments for url %s" % (url)) + for comment in ( + Comment.select(Comment) + .where((Comment.url == url) & (Comment.published.is_null(False))) + .order_by(+Comment.published) + ): + d = { + "author": comment.author_name, + "content": comment.content, + "avatar": comment.author_gravatar, + "date": comment.published.strftime("%Y-%m-%d %H:%M:%S"), + } + if comment.author_site: + d["site"] = comment.author_site + logger.debug(d) + comments.append(d) + return jsonify({"data": comments}) @app.route("/comments/count", methods=["GET"]) def get_comments_count(): - try: - token = request.args.get("token", "") - if token != app.config.get("SITE_TOKEN"): - abort(401) - - url = request.args.get("url", "") - if url: - count = ( - Comment.select(Comment) - .where((Comment.url == url) & (Comment.published.is_null(False))) - .count() - ) - else: - count = ( - Comment.select(Comment).where(Comment.published.is_null(False)).count() - ) - r = jsonify({"count": count}) - r.status_code = 200 - except Exception: - r = jsonify({"count": 0}) - r.status_code = 200 - return r + token = request.args.get("token", "") + if token != app.config.get("SITE_TOKEN"): + abort(401) + url = request.args.get("url", "") + if url: + count = ( + Comment.select(Comment) + .where((Comment.url == url) & (Comment.published.is_null(False))) + .count() + ) + else: + count = Comment.select(Comment).where(Comment.publishd.is_null(False)).count() + return jsonify({"count": count})