summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoremkael <emkael@tlen.pl>2019-02-14 21:40:31 +0300
committeremkael <emkael@tlen.pl>2019-02-14 21:40:31 +0300
commit6a319f6d1ccad18dd46bf007998d30861d968b0c (patch)
tree42a00a10b70d27c342f14a614d911124d3928e31
parent4a7b0a597f86f4b9e4453da15cf92aa7b8fe9806 (diff)
Sorting the output
-rw-r--r--fetcher.py24
1 files changed, 18 insertions, 6 deletions
diff --git a/fetcher.py b/fetcher.py
index 565f39b..b5ddbf7 100644
--- a/fetcher.py
+++ b/fetcher.py
@@ -83,30 +83,30 @@ class Tournament(object):
print >>info_file, 'Results URL: %s' % self.event.link
print >>info_file, 'Tournament: %s' % self.name
print >>info_file, 'Sessions:'
- for session in self.sessions:
+ for session in sorted(self.sessions):
print >>info_file, ' - [%d/%d] %s (%d boards): %s' % (
session.group_number, session.round_number, session.name, len(session.boards), session.link)
def write_pairs(self):
with open(self.__get_filename('pairs.csv'), 'wb') as pairs_file:
writer = csv.writer(pairs_file)
- for pair in self.pairs.values():
+ for pair in sorted(self.pairs.values()):
writer.writerow([pair.number] + pair.names + pair.nationalities)
def write_boards(self):
with open(self.__get_filename('boards.csv'), 'wb') as boards_file:
writer = csv.writer(boards_file)
- for session in self.sessions:
- for board in session.boards.values():
+ for session in sorted(self.sessions):
+ for board in sorted(session.boards.values()):
writer.writerow([session.group_number, session.round_number, board.number, board.layout])
def write_results(self):
with open(self.__get_filename('results.csv'), 'wb') as results_file:
writer = csv.writer(results_file)
- for session in self.sessions:
+ for session in sorted(self.sessions):
if not len(session.boards):
print 'No results for session: %s' % session
- for board in session.boards.values():
+ for board in sorted(session.boards.values()):
for result in board.results:
writer.writerow([session.group_number, session.round_number, board.number,
result.section, result.table,
@@ -138,6 +138,9 @@ class Session(object):
self.boards = {}
self.get_data()
+ def __cmp__(self, other):
+ return cmp(self.group_number, other.group_number) or cmp(self.round_number, other.round_number)
+
def get_data(self):
for row in self.content.select('tr tr'):
for link in row.select('a[href]'):
@@ -176,6 +179,9 @@ class Pair(object):
self.tournament = tournament
self.nationalities = nationalities
+ def __cmp__(self, other):
+ return cmp(self.number, other.number)
+
def __repr__(self):
return '#%d %s (%s)' % (self.number, ' - '.join(self.names), self.nationalities)
@@ -195,6 +201,9 @@ class Board(object):
self.results = []
self.get_results()
+ def __cmp__(self, other):
+ return cmp(self.session, other.session) or cmp(self.number, other.number)
+
def __get_pair(self, cell):
for link in cell.select('a[href]'):
pair = self.pair_link_regex.search(link['href'])
@@ -254,6 +263,9 @@ class Result(object):
tricks = None
score = None
+ def __cmp__(self, other):
+ return cmp(self.board, other.board) or cmp(self.section, other.section) or cmp(self.table, other.table)
+
def __repr__(self):
return '#%d [%s %s] %s %s %s, %d tricks: %d' % (
self.board.number,