def load_items_from_yaml()

in broadcast-monitoring/src/sharedlib/sports_data/team.py [0:0]


    def load_items_from_yaml(self, item_yaml_file):
        try:
            with open(item_yaml_file, 'r') as f:
                items = yaml.load(f, Loader=yaml.SafeLoader)
                for team_name in items:
                    team_id = items[team_name]['id']
                    abbrs = items[team_name]['abbr']
                    alt_names = []
                    if 'alt' in items[team_name]:
                        alt_names = items[team_name]['alt']
                    team = Team(team_name, abbrs, alt_names, team_id)
                    self.teams[team_name] = team
                    self.team_id_to_team[team_id] = team
                    for abbr in abbrs:
                        if self.abbr_exists(abbr):
                            error_msg = f'found duplicate abbreviations: {abbr} for ' \
                                        f'{self.abbr_to_team[abbr].name} and {team_name}'
                            logger.error(error_msg)
                            raise ValueError(error_msg)
                        self.abbr_to_team[abbr] = team
                    for alt_name in alt_names:
                        self.teams[alt_name] = team
        except yaml.YAMLError as exc:
            logger.exception(str(exc))