diff options
author | emkael <emkael@tlen.pl> | 2017-06-16 01:27:54 +0200 |
---|---|---|
committer | emkael <emkael@tlen.pl> | 2017-06-16 01:27:54 +0200 |
commit | d7056c28e49b73271e28400e1e88e707e54e6a89 (patch) | |
tree | 52b0162c0aa507dd721a87d7ea2735b2161c342a | |
parent | ed5f09ba25eca5d49ceb97149d56999dbe7fc7f6 (diff) |
Links from players pages point to specific pages of ranking... pages
Fixes #6
-rw-r--r-- | players.py | 20 |
1 files changed, 16 insertions, 4 deletions
@@ -1,5 +1,6 @@ import copy, json, os, sys from bs4 import BeautifulSoup as bs4 +from math import ceil from pyranking.fetch import fetch_ranking output_directory = sys.argv[1] @@ -59,16 +60,27 @@ for pid, player in players.iteritems(): row = copy.copy(missing_row) if ranking is None else copy.copy(normal_row) rank_link = row.find('td').a rank_link.string = '.'.join(date.split('-')[::-1]) - rank_link['href'] = '../%s' % (dates[date]) + base_rank_link = '../%s' % (dates[date]) + if ranking is not None and ranking['place'] > 40: + rank_link['href'] = '../%s#page:%d' % ( + dates[date], ceil(ranking['place'] / 40.0) + ) + else: + rank_link['href'] = base_rank_link if ranking is not None: score_cell = row.select('.score span')[0] score_cell.string = '%.2f' % (ranking['score']) score_cell['title'] = str(ranking['score']) for field in ['region', 'age', 'gender']: link = row.select('td.'+field+' a')[0] - link['href'] = rank_link['href'] + '#%s:%s' % ( - field, ranking[field] - ) + if ranking[field+'-place'] > 40: + link['href'] = base_rank_link + '#%s:%s;page:%d' % ( + field, ranking[field], ceil(ranking[field+'-place'] / 40.0) + ) + else: + link['href'] = base_rank_link + '#%s:%s' % ( + field, ranking[field] + ) link.string = ranking[field] if len(ranking[field]) else '-' for field in ['', 'region-', 'age-', 'gender-']: row.select('td.'+field+'place')[0].string = '%d.' % (ranking[field+'place']) |