summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoremkael <emkael@tlen.pl>2017-02-27 13:25:07 +0100
committeremkael <emkael@tlen.pl>2017-02-27 13:25:07 +0100
commit564b630b2699eb57524dd332c3bd4a0f910044ca (patch)
tree6aff7a559e170a5cff2e872e69197a81366365ef
parent94a98d21431d6ae03b81cf76c16c8ee3ce7f8b46 (diff)
Filling matches from RR places
-rw-r--r--CONFIG.md2
-rw-r--r--playoff.py15
2 files changed, 11 insertions, 6 deletions
diff --git a/CONFIG.md b/CONFIG.md
index aa1fd1d..0da8af9 100644
--- a/CONFIG.md
+++ b/CONFIG.md
@@ -61,7 +61,7 @@ Mecz ma następujące pola:
zestawu pól nie da się pobrać informacji o meczu
Jest to tablica dwóch elementów, które mogą być:
+ łańcuchem tekstowym - wówczas musi to być pełna nazwa teamu
- + obiektem, z możliwymi polami tablicowymi `"winner"` lub `"loser"` - oznacza to, że dane miejsce drabinki jest przeznaczone dla zwycięzców/przegranych w meczach o ID podanych w polu
+ + obiektem, z możliwymi polami tablicowymi `"place"`, `"winner"` lub `"loser"` - oznacza to, że dane miejsce drabinki jest przeznaczone dla drużyny z odpowiedniego miejsca z listy teamów (sekcja `"teams"`) lub dla zwycięzców/przegranych w meczach o ID podanych w polu
- opcjonalne, pola `"winner"` i `"loser"` - które z kolei w tym kontekście oznaczają, miejsca, które zajmują zwycięzcy/przegrani danego meczu w końcowej klasyfikacji
Na przykładach, pierwszy i ostatni mecz z poniższego pliku:
diff --git a/playoff.py b/playoff.py
index 578f29b..3294875 100644
--- a/playoff.py
+++ b/playoff.py
@@ -141,21 +141,26 @@ def get_match_info(match):
elif isinstance(match['teams'][i], list):
info.teams[i].name = '<br />'.join(match['teams'][i])
else:
- teams = []
+ match_teams = []
if 'winner' in match['teams'][i]:
- teams += [
+ match_teams += [
match_info[winner_match].winner
for winner_match in match['teams'][i]['winner']
]
if 'loser' in match['teams'][i]:
- teams += [
+ match_teams += [
match_info[loser_match].loser
for loser_match in match['teams'][i]['loser']
]
+ if 'place' in match['teams'][i]:
+ match_teams += [
+ teams[place-1][0]
+ for place in match['teams'][i]['place']
+ ]
info.teams[i].name = '<br />'.join([
team if team is not None else '??'
- for team in teams]
- ) if len([team for team in teams if team is not None]) > 0 else ''
+ for team in match_teams]
+ ) if len([team for team in match_teams if team is not None]) > 0 else ''
try:
towels = db_fetch(match['database'], p_sql.TOWEL_COUNT, (match['table'], match['round']))