summaryrefslogtreecommitdiff
path: root/scripts/datafiles-generate.py
diff options
context:
space:
mode:
authoremkael <emkael@tlen.pl>2017-09-08 01:28:21 +0200
committeremkael <emkael@tlen.pl>2017-09-08 01:28:21 +0200
commit8f795b1d445441daab5ffb75060a6dbf8ed0934a (patch)
tree15e55a2a7e03867ac0cccfb8303674d478510503 /scripts/datafiles-generate.py
parent655a9847513332e8e119f37f7ed95f4ab002b1a1 (diff)
Renaming scripts so that their names make sense
Diffstat (limited to 'scripts/datafiles-generate.py')
-rw-r--r--scripts/datafiles-generate.py30
1 files changed, 30 insertions, 0 deletions
diff --git a/scripts/datafiles-generate.py b/scripts/datafiles-generate.py
new file mode 100644
index 0000000..5cee451
--- /dev/null
+++ b/scripts/datafiles-generate.py
@@ -0,0 +1,30 @@
+import json, sys
+from decimal import Decimal
+
+from pyranking.fetch import fetch_ranking
+
+ranking_date = sys.argv[1]
+ranking = fetch_ranking(ranking_date)
+old_ranking = fetch_ranking(sys.argv[2], True) if len(sys.argv) > 2 else {}
+
+for row in ranking:
+ if row['pid'] in old_ranking:
+ row['place-change'] = old_ranking[row['pid']]['place'] - row['place']
+ row['place-change-class'] = 'success' if row['place-change'] > 0 else 'danger'
+ row['place-change'] = '%+d' % (row['place-change'])
+ if row['place-change'] == '+0':
+ row['place-change'] = '='
+ row['place-change-class'] = 'default'
+ for category in ['gender', 'age', 'region']:
+ if row[category] == old_ranking[row['pid']][category]:
+ row[category + '-change'] = old_ranking[row['pid']][category + '-place'] - row[category + '-place']
+ row[category + '-change-class'] = 'success' if row[category + '-change'] > 0 else 'danger'
+ row[category + '-change'] = '%+d' % (row[category + '-change'])
+ if row[category + '-change'] == '+0':
+ row[category + '-change'] = '='
+ row[category + '-change-class'] = 'default'
+ for field in row:
+ if isinstance(row[field], Decimal):
+ row[field] = float(row[field])
+
+print json.dumps(ranking)