Repository :
http://git.fedorahosted.org/cgit/copr.git
On branch : master
---------------------------------------------------------------
commit fedd2da3e6792b11b89f3f3598047feeb48c6e55
Author: Valentin Gologuzov <vgologuz(a)redhat.com>
Date: Mon Feb 23 12:58:40 2015 +0100
[frontend] safer /start_rcv/from_logstash handler
---------------------------------------------------------------
.../coprs/views/stats_ns/stats_receiver.py | 39 +++++++++++---------
1 files changed, 21 insertions(+), 18 deletions(-)
diff --git a/frontend/coprs_frontend/coprs/views/stats_ns/stats_receiver.py
b/frontend/coprs_frontend/coprs/views/stats_ns/stats_receiver.py
index 3f811ba..9b40e29 100644
--- a/frontend/coprs_frontend/coprs/views/stats_ns/stats_receiver.py
+++ b/frontend/coprs_frontend/coprs/views/stats_ns/stats_receiver.py
@@ -22,25 +22,28 @@ def increment(counter_type, name):
db.session.commit()
return "", 201
+
@stats_rcv_ns.route("/from_logstash", methods=['POST'])
-@intranet_required # ?
+@intranet_required
def logstash_handler():
- # import ipdb; ipdb.set_trace()
- json = flask.request.json
- if "request" in json:
- # 0 1 2 3 4 5
- # "request":
"/coprs/bob/foox/repo/epel-5/bob-foox-epel-5.repo",
- req_split = json["request"].split("/")
- kwargs = dict(
- user=req_split[2],
- copr=req_split[3],
- name_release=req_split[5]
- )
- name = REPO_DL_STAT_FMT.format(**kwargs)
- app.logger.debug("kwargs: {}; name: {}".format(kwargs, name))
-
- CounterStatLogic.incr(name=name,
- counter_type=CounterStatType.REPO_DL)
- db.session.commit()
+ try:
+ json = flask.request.json
+ if "request" in json:
+ # 0 1 2 3 4 5
+ # "request":
"/coprs/bob/foox/repo/epel-5/bob-foox-epel-5.repo",
+ req_split = json["request"].split("/")
+ kwargs = dict(
+ user=req_split[2],
+ copr=req_split[3],
+ name_release=req_split[5]
+ )
+ name = REPO_DL_STAT_FMT.format(**kwargs)
+ app.logger.debug("kwargs: {}; name: {}".format(kwargs, name))
+
+ CounterStatLogic.incr(name=name,
+ counter_type=CounterStatType.REPO_DL)
+ db.session.commit()
+ except Exception as err:
+ app.logger.exception(err)
return "", 201