From 8230739ccf52970a61c68f414f0cf2812b79f766 Mon Sep 17 00:00:00 2001 From: emkael Date: Mon, 30 Dec 2019 21:08:45 +0100 Subject: Match links fetched via result info client mechanism --- jfr_playoff/data/match/jfrdb.py | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 jfr_playoff/data/match/jfrdb.py (limited to 'jfr_playoff/data/match/jfrdb.py') diff --git a/jfr_playoff/data/match/jfrdb.py b/jfr_playoff/data/match/jfrdb.py new file mode 100644 index 0000000..7d9e067 --- /dev/null +++ b/jfr_playoff/data/match/jfrdb.py @@ -0,0 +1,28 @@ +from jfr_playoff.data import TournamentInfo +from jfr_playoff.data.match import MatchInfoClient +from jfr_playoff.logger import PlayoffLogger + + +class JFRDbMatchInfo(MatchInfoClient): + @property + def priority(self): + return 50 + + def is_capable(self): + return (self.database is not None) and ('database' in self.settings) + + def get_exceptions(self, method): + return (IOError, TypeError, IndexError, KeyError) + + def get_match_link(self): + if 'link' in self.settings: + raise NotImplementedError( + 'link specified in config, skipping lookup') + if 'round' not in self.settings: + raise IndexError('round number not specified in match config') + event_info = TournamentInfo(self.settings, self.database) + link = event_info.get_results_link( + 'runda%d.html' % (self.settings['round'])) + PlayoffLogger.get('match.jfrdb').info( + 'match #%d link fetched: %s', self.settings['id'], link) + return link -- cgit v1.2.3