diff options
Diffstat (limited to 'jfr_playoff/tournamentinfo/jfrdb.py')
-rw-r--r-- | jfr_playoff/tournamentinfo/jfrdb.py | 60 |
1 files changed, 0 insertions, 60 deletions
diff --git a/jfr_playoff/tournamentinfo/jfrdb.py b/jfr_playoff/tournamentinfo/jfrdb.py deleted file mode 100644 index 0f39b47..0000000 --- a/jfr_playoff/tournamentinfo/jfrdb.py +++ /dev/null @@ -1,60 +0,0 @@ -import jfr_playoff.sql as p_sql - -from jfr_playoff.logger import PlayoffLogger -from jfr_playoff.tournamentinfo import TournamentInfoClient - -SWISS_TIE_WARNING = 'tie detected in swiss %s.' + \ - ' Make sure to resolve the tie by arranging teams' + \ - ' in configuration file.' - - -class JFRDbTournamentInfo(TournamentInfoClient): - def get_exceptions(self, method): - return (IOError, TypeError, IndexError, KeyError) - - def get_results_link(self, suffix='leaderb.html'): - row = self.database.fetch( - self.settings['database'], p_sql.PREFIX, ()) - if row is not None: - if len(row) > 0: - link = row[0] + suffix - PlayoffLogger.get('tournament.jfrdb').info( - 'generating tournament-specific link from DB %s prefix: %s -> %s', - self.settings['database'], suffix, link) - return link - raise ValueError('unable to fetch db link') - - def is_finished(self): - finished = self.database.fetch( - self.settings['database'], p_sql.SWISS_ENDED, {}) - PlayoffLogger.get('tournament.jfrdb').info( - 'fetching tournament finished status from DB %s: %s', - self.settings['database'], finished) - return (len(finished) > 0) and (finished[0] > 0) - - def get_tournament_results(self): - if 'ties' not in self.settings: - self.settings['ties'] = [] - swiss_teams = self.database.fetch_all( - self.settings['database'], p_sql.SWISS_RESULTS, {}) - swiss_results = sorted( - swiss_teams, - key=lambda t: self.settings['ties'].index(t[0]) \ - if t[0] in self.settings['ties'] else -1) - swiss_results = sorted( - swiss_results, key=lambda t: t[1], reverse=True) - swiss_results = sorted(swiss_results, key=lambda team: team[2]) - PlayoffLogger.get('tournament.jfrdb').info( - 'fetched tournament results from database %s: %s', - self.settings['database'], swiss_results) - prev_result = None - for team in swiss_results: - if prev_result == team[1]: - PlayoffLogger.get('tournament.jfrdb').warning( - SWISS_TIE_WARNING, self.settings['database']) - prev_result = team[1] - db_teams = [[team[0], team[3], team[4]] for team in swiss_results] - PlayoffLogger.get('tournament.jfrdb').info( - 'fetched team list from database %s: %s', - self.settings['database'], db_teams) - return db_teams |