[chronojump-server] Adds support for endpoint "ping"
- From: Carles Pina i Estany <carlespina src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [chronojump-server] Adds support for endpoint "ping"
- Date: Wed, 11 Feb 2015 23:20:12 +0000 (UTC)
commit 2b3c73f9332e75502b4f78c1c92e84029a21e16c
Author: Carles Pina i Estany <carles pina cat>
Date: Wed Feb 11 23:19:45 2015 +0000
Adds support for endpoint "ping"
main.py | 30 ++++++++++++++++++++++++++++++
requirements.txt | 3 ++-
2 files changed, 32 insertions(+), 1 deletions(-)
---
diff --git a/main.py b/main.py
index 551496f..710330f 100755
--- a/main.py
+++ b/main.py
@@ -6,6 +6,7 @@ import hashlib
import json
import os
import string
+import MySQLdb
from werkzeug.contrib.fixers import ProxyFix
config = ConfigParser.ConfigParser()
@@ -36,6 +37,18 @@ def create_directory(backtraces_directory):
if not os.path.exists(backtraces_directory):
os.mkdir(backtraces_directory)
+def connect_db():
+ db = MySQLdb.connect(
+ host=config.get("db","server"),
+ user=config.get("db","user"),
+ passwd=config.get("db","password"),
+ db=config.get("db","name")
+ )
+
+ cur = db.cursor()
+
+ return (db, cur)
+
@app.route("/backtrace", methods= ['POST'])
@app.route("/backtrace/<email>", methods = ['POST'])
@auto.doc()
@@ -62,6 +75,23 @@ def post_backtrace(email="unknown unknown com"):
return Response(json.dumps({"crash_id": hash}), 200, mimetype="application/json")
+ app route("/ping", methods=['POST'])
+ auto doc()
+def ping():
+ """chronojump client sends a ping"""
+ content = request.get_json()
+
+ cj_version = content.get('version', 'unknown')
+ os_version = content.get('version', 'linux')
+ ip = request.remote_addr
+
+ (con, cur) = connect_db()
+
+ cur.execute("INSERT INTO ping (cjVersion, osVersion, ip) VALUES (%s, %s, %s)", (cj_version, os_version,
ip))
+ con.commit()
+
+ return Response("", 201)
+
@app.route("/version", methods=['GET'])
@auto.doc()
def get_version():
diff --git a/requirements.txt b/requirements.txt
index dd84584..be3e93d 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -2,8 +2,9 @@ Flask==0.10.1
Flask-Autodoc==0.1.1
Jinja2==2.7.3
MarkupSafe==0.23
+MySQL-python==1.2.5
Werkzeug==0.9.6
argparse==1.2.1
+gunicorn==0.14.5
itsdangerous==0.24
wsgiref==0.1.2
-gunicorn==0.14.5
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]