summaryrefslogtreecommitdiff
path: root/ranking.py
diff options
context:
space:
mode:
authoremkael <emkael@tlen.pl>2017-04-06 01:33:22 +0200
committeremkael <emkael@tlen.pl>2017-04-06 01:33:22 +0200
commitcce7440974bbf7999f160d07d99cf22265ceebd5 (patch)
treec67d875ee3f6bd5b8823cde6b421ea23ebb7bb96 /ranking.py
parent925e385cbb04977c3e8f5bfb0a3c6c8edfad48ac (diff)
Refactoring re-usable code
Diffstat (limited to 'ranking.py')
-rw-r--r--ranking.py55
1 files changed, 2 insertions, 53 deletions
diff --git a/ranking.py b/ranking.py
index 154f877..72ef794 100644
--- a/ranking.py
+++ b/ranking.py
@@ -1,58 +1,7 @@
-import copy, json, sys
-import mysql.connector
+import copy, sys
from bs4 import BeautifulSoup as bs4
-settings = json.load(file('config.json'))
-
-connection = mysql.connector.connect(
- user=settings['user'],
- password=settings['pass'],
- host=settings['host'],
- port=settings['port'],
- database=settings['db']
-)
-cursor = connection.cursor(dictionary=True, buffered=True)
-
-def fetch_ranking(date, assoc=False):
- sql = '''SELECT
- rankings.place,
- rankings.pid,
- CONCAT(players.name, " ", players.surname) player,
- players.rank,
- rankings.region, players.club,
- REPLACE(rankings.flags, "K", "") age,
- IF(rankings.flags LIKE 'K%', "K", "") gender,
- rankings.score
-FROM rankings
-JOIN players
- ON players.id = rankings.pid
-WHERE rankings.date = %(date)s
-ORDER BY rankings.place
- '''
- cursor.execute(sql, {'date': date})
- ranks = {
- 'gender': {},
- 'age': {},
- 'region': {}
- }
- ranking = cursor.fetchall()
- for row in ranking:
- if row['gender'] == '':
- row['gender'] = 'M'
- for category in ['gender', 'age', 'region']:
- if row[category] not in ranks[category]:
- ranks[category][row[category]] = 0
- ranks[category][row[category]] += 1
- row[category + '-place'] = ranks[category][row[category]]
- for category in ['place', 'gender', 'age', 'region']:
- row[category + '-change'] = 'N'
- row[category + '-change-class'] = 'info'
- if assoc:
- result = {}
- for row in ranking:
- result[row['pid']] = row
- return result
- return ranking
+from pyranking.fetch import fetch_ranking
ranking = fetch_ranking(sys.argv[1])
old_ranking = fetch_ranking(sys.argv[2], True) if len(sys.argv) > 2 else {}