summaryrefslogtreecommitdiff
path: root/generate-json.py
diff options
context:
space:
mode:
authoremkael <emkael@tlen.pl>2017-07-06 00:13:54 +0200
committeremkael <emkael@tlen.pl>2017-07-06 00:13:54 +0200
commit3bef06bedb9b2dad691356863b7c227ad8ecbd67 (patch)
treebf88d06b1cfaf78cf065ad85559ee342e7075bf3 /generate-json.py
parent489eb40c0a29116ccce98291b3e174cb4531587b (diff)
Generating ranking data in JSON format
Diffstat (limited to 'generate-json.py')
-rw-r--r--generate-json.py31
1 files changed, 31 insertions, 0 deletions
diff --git a/generate-json.py b/generate-json.py
new file mode 100644
index 0000000..54bb26d
--- /dev/null
+++ b/generate-json.py
@@ -0,0 +1,31 @@
+import json, sys
+from pyranking.db import cursor
+
+date = sys.argv[1]
+
+sql = '''SELECT
+ rankings.place,
+ players.id,
+ players.rank,
+ rankings.score
+FROM players
+LEFT JOIN rankings
+ ON players.id = rankings.pid
+ AND rankings.date = %(date)s
+'''
+cursor.execute(sql, {'date': date})
+
+result = {}
+for row in cursor.fetchall():
+ if row['place'] is not None:
+ result[row['id']] = {
+ 'place': int(row['place']),
+ 'rank': float(row['rank']),
+ 'score': float(row['score'])
+ }
+ else:
+ result[row['id']] = {
+ 'rank': float(row['rank'])
+ }
+
+print json.dumps(result)