diff options
author | emkael <emkael@tlen.pl> | 2017-04-11 18:32:08 +0200 |
---|---|---|
committer | emkael <emkael@tlen.pl> | 2017-04-11 18:32:08 +0200 |
commit | bb087f62e6434c032644d030446ab781837ae5dd (patch) | |
tree | c88d905b89191fa40b193394d04b70d3f1782bbd /ranking.py | |
parent | 2f691416e159fa6a1fc5413bbec3f86acb3096ab (diff) |
Previous editions in header panel
Diffstat (limited to 'ranking.py')
-rw-r--r-- | ranking.py | 31 |
1 files changed, 27 insertions, 4 deletions
@@ -1,10 +1,12 @@ -import copy, sys +import copy, json, sys from bs4 import BeautifulSoup as bs4 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 {} +dates_config = json.load(file(sys.argv[1])) +ranking_date = sys.argv[2] +ranking = fetch_ranking(ranking_date) +old_ranking = fetch_ranking(sys.argv[3], True) if len(sys.argv) > 3 else {} for row in ranking: if row['pid'] in old_ranking: @@ -28,7 +30,7 @@ table_body = table.select('tbody')[0] table_row = table_body.select('tr')[0].extract() table.select('.page-header h1 small')[0].string = 'stan na %s' % ( - '.'.join(sys.argv[1].split('-')[::-1]) + '.'.join(ranking_date.split('-')[::-1]) ) for row in ranking: @@ -53,4 +55,25 @@ for row in ranking: new_row['class'] = new_row.get('class', []) + ['info'] table_body.append(new_row) +editions = {} +for date, link in dates_config.iteritems(): + year = date.split('-')[0] + if year not in editions: + editions[year] = [] + editions[year].append(('.'.join(date.split('-')[::-1][0:2]), link, date)) + +date_group = table.select('#editions')[0] +year_group = date_group.select('div[role="group"]')[0].extract() +ranking_link = year_group.select('.btn-default')[0].extract() +for year, dates in editions.iteritems(): + group = copy.copy(year_group) + group.select('.year')[0].string = str(year) + for date in dates: + link = copy.copy(ranking_link) + link.string = date[0] + link['href'] = date[1] + link['datetime'] = date[2] + group.append(link) + date_group.append(group) + print table.prettify().encode('utf-8') |