blob: 169eda0c07979f08ae7c31a9ceeefdfa266e7894 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
|
import sys
def coalesce(*arg):
for el in arg:
if el is not None:
return el
return None
class Team(object):
name = None
possible_name = None
score = 0.0
place = None
known_teams = 0
selected_team = -1
def __init__(self):
self.place = []
self.name = []
self.possible_name = []
def __unicode__(self):
return u'%s (%.1f)' % (coalesce(self.name, '<None>'), self.score)
def __repr__(self):
return unicode(self).encode(sys.stdin.encoding)
class Match(object):
id = None
teams = None
running = 0
link = None
winner = None
loser = None
possible_winner = None
possible_loser = None
winner_matches = None
loser_matches = None
winner_place = None
loser_place = None
def __repr__(self):
return (u'#%d (%s) %s [%s]' % (
self.id, coalesce(self.link, '<None>'), [unicode(team) for team in self.teams],
u'finished' if self.running < 0 else (
u'%d boards' % self.running))
).encode(sys.stdin.encoding)
class Phase(object):
title = None
link = None
matches = []
running = False
def __repr__(self):
return u'%s (%s) <%d matches> [%srunning]' % (
self.title, coalesce(self.link, '<None>'),
len(self.matches), '' if self.running else 'not ')
__all__ = ('Team', 'Match', 'Phase')
|