Ejemplo n.º 1
0
def import_scores(table, game: Game, team: Team):
    table_rows = table['data']
    for table_row in table_rows[2:]:
        row_data = [cell['text'] for cell in table_row]

        player_number: str = row_data[0]
        player_name: str = row_data[1]

        if not player_number and not player_name:
            return
        if player_number in ('A', 'B', 'C', 'D'):
            LOGGER.debug('SKIPPING Score (coach): %s - %s', player_number,
                         player_name)
            return
        if not player_number:
            LOGGER.warning('SKIPPING Score (no player number): %s',
                           player_name)
            return
        if not player_name:
            LOGGER.warning('SKIPPING Score (no player name): %s',
                           player_number)
            return
        try:
            int(player_number)
        except ValueError as err:
            LOGGER.exception(
                'invalid Score (invalid player number): %s - %s\n%s',
                player_number, player_name, err)
            return

        player = Player(name=player_name, team=team)
        score = parse_score(player, game, row_data)
        logic.add_score(score)
Ejemplo n.º 2
0
    def add_scores(self, table, game, team):
        table_rows = table['data']
        for table_row in table_rows[2:]:
            row_data = [cell['text'] for cell in table_row]

            player_name = row_data[1]
            if not player_name:
                return

            player_number = row_data[0]
            if player_number in ('A', 'B', 'C', 'D'):
                return
            if player_number == "":
                self.stdout.write(
                    'SKIPPING Score (no player number): {}'.format(
                        player_name))
                return

            # player_year_of_birth = row_data[2]

            try:
                goals = int(row_data[5])
            except ValueError:
                goals = 0
            penalty_tries, penalty_goals = parsing.parse_penalty_data(
                row_data[6])
            warning_time = parsing.parse_game_time(row_data[7])
            first_suspension_time = parsing.parse_game_time(row_data[8])
            second_suspension_time = parsing.parse_game_time(row_data[9])
            third_suspension_time = parsing.parse_game_time(row_data[10])
            disqualification_time = parsing.parse_game_time(row_data[11])
            report_time = parsing.parse_game_time(row_data[12])
            team_suspension_time = parsing.parse_game_time(row_data[13])

            logic.add_score(game, team, player_name, player_number, goals,
                            penalty_goals, penalty_tries, warning_time,
                            first_suspension_time, second_suspension_time,
                            third_suspension_time, disqualification_time,
                            report_time, team_suspension_time,
                            self.stdout.write)
Ejemplo n.º 3
0
def _add_scores(game: Game, team: Team, scores_data: Dict[str, Dict[str,
                                                                    Any]]):
    for name, score_data in scores_data.items():
        player = Player(name=name, team=team)
        sco = Score(player=player, game=game, **score_data)
        logic.add_score(score=sco)
Ejemplo n.º 4
0
 def _add_scores(self, game, team, data):
     for score in data:
         logic.add_score(*(game, team) + score, log_fun=self.stdout.write)