summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--jfr_playoff/matchinfo.py39
1 files changed, 26 insertions, 13 deletions
diff --git a/jfr_playoff/matchinfo.py b/jfr_playoff/matchinfo.py
index a7e5324..819cdd7 100644
--- a/jfr_playoff/matchinfo.py
+++ b/jfr_playoff/matchinfo.py
@@ -105,23 +105,36 @@ class MatchInfo:
self.info.teams[i].score = self.config['score'][i]
self.info.running = -1
+ def __get_db_board_count(self):
+ towels = self.database.fetch(
+ self.config['database'], p_sql.TOWEL_COUNT,
+ (self.config['table'], self.config['round']))
+ row = [0 if r is None
+ else r for r in
+ self.database.fetch(
+ self.config['database'], p_sql.BOARD_COUNT,
+ (self.config['table'], self.config['round']))]
+ boards_to_play = row[0]
+ if row[1] > 0:
+ boards_played = int(row[1])
+ if boards_to_play > 0:
+ boards_played += int(towels[0])
+ return boards_played, boards_to_play
+
def __fetch_board_count(self):
+ boards_played = 0
+ boards_to_play = 0
try:
- towels = self.database.fetch(
- self.config['database'], p_sql.TOWEL_COUNT,
- (self.config['table'], self.config['round']))
- row = [0 if r is None
- else r for r in
- self.database.fetch(
- self.config['database'], p_sql.BOARD_COUNT,
- (self.config['table'], self.config['round']))]
- if row[1] > 0:
- self.info.running = int(row[1])
- if row[0] > 0:
- if row[1] >= row[0] - towels[0]:
- self.info.running = -1
+ boards_played, boards_to_play = self.__get_db_board_count()
except (mysql.connector.Error, TypeError, KeyError):
pass
+ if boards_played > 0:
+ self.info.running = -1 \
+ if boards_played >= boards_to_play \
+ else boards_played
+ else:
+ self.info.running = 0
+
def __determine_outcome(self):
if (self.info.running == -1):