def _generate_game_object(cls, soup, timestamp, game_number):
        """
        get game data
        :param soup: Beautifulsoup object
        :param timestamp: game day
        :param game_number: game number
        :return: pitchpx.game.game.Game object
        """
        game = Game(timestamp)

        # Base Game Data(Spring Training, Regular Season, Play Off, etc...)
        game.game_type = MlbamUtil.get_attribute(soup.game, 'type', unknown=MlbamConst.UNKNOWN_SHORT)
        game.game_type_des = cls._get_game_type_des(game.game_type)
        game.st_fl = cls._get_st_fl(game.game_type)
        game.regseason_fl = cls._get_regseason_fl(game.game_type)
        game.playoff_fl = cls._get_playoff_fl(game.game_type)
        game.local_game_time = MlbamUtil.get_attribute(soup.game, 'local_game_time', unknown=MlbamConst.UNKNOWN_FULL)
        game.game_id = MlbamUtil.get_attribute(soup.game, 'game_pk', unknown=MlbamConst.UNKNOWN_FULL)

        # Team Data
        game.home_team_id = cls._get_team_attribute(soup, cls.TEAM_TYPE_HOME, 'code')
        game.home_team_lg = cls._get_team_attribute(soup, cls.TEAM_TYPE_HOME, 'league')
        game.away_team_id = cls._get_team_attribute(soup, cls.TEAM_TYPE_AWAY, 'code')
        game.away_team_lg = cls._get_team_attribute(soup, cls.TEAM_TYPE_AWAY, 'league')
        game.home_team_name = cls._get_team_attribute(soup, cls.TEAM_TYPE_HOME, 'name')
        game.away_team_name = cls._get_team_attribute(soup, cls.TEAM_TYPE_AWAY, 'name')
        game.home_team_name_full = cls._get_team_attribute(soup, cls.TEAM_TYPE_HOME, 'name_full')
        game.away_team_name_full = cls._get_team_attribute(soup, cls.TEAM_TYPE_AWAY, 'name_full')
        game.interleague_fl = cls._get_interleague_fl(game.home_team_lg, game.away_team_lg)

        # Stadium Data
        game.park_id = cls._get_stadium_attribute(soup, 'id')
        game.park_name = cls._get_stadium_attribute(soup, 'name')
        game.park_loc = cls._get_stadium_attribute(soup, 'location')

        # Retro ID
        game.retro_game_id = cls._get_retro_id(game.home_team_id, timestamp, game_number)

        return game
def _generate_game_object ( cls , soup , timestamp , game_number ) : game = Game ( timestamp ) game . game_type = MlbamUtil . get_attribute ( soup . game , 'type' , unknown = MlbamConst . UNKNOWN_SHORT ) game . game_type_des = cls . _get_game_type_des ( game . game_type ) game . st_fl = cls . _get_st_fl ( game . game_type ) game . regseason_fl = cls . _get_regseason_fl ( game . game_type ) game . playoff_fl = cls . _get_playoff_fl ( game . game_type ) game . local_game_time = MlbamUtil . get_attribute ( soup . game , 'local_game_time' , unknown = MlbamConst . UNKNOWN_FULL ) game . game_id = MlbamUtil . get_attribute ( soup . game , 'game_pk' , unknown = MlbamConst . UNKNOWN_FULL ) game . home_team_id = cls . _get_team_attribute ( soup , cls . TEAM_TYPE_HOME , 'code' ) game . home_team_lg = cls . _get_team_attribute ( soup , cls . TEAM_TYPE_HOME , 'league' ) game . away_team_id = cls . _get_team_attribute ( soup , cls . TEAM_TYPE_AWAY , 'code' ) game . away_team_lg = cls . _get_team_attribute ( soup , cls . TEAM_TYPE_AWAY , 'league' ) game . home_team_name = cls . _get_team_attribute ( soup , cls . TEAM_TYPE_HOME , 'name' ) game . away_team_name = cls . _get_team_attribute ( soup , cls . TEAM_TYPE_AWAY , 'name' ) game . home_team_name_full = cls . _get_team_attribute ( soup , cls . TEAM_TYPE_HOME , 'name_full' ) game . away_team_name_full = cls . _get_team_attribute ( soup , cls . TEAM_TYPE_AWAY , 'name_full' ) game . interleague_fl = cls . _get_interleague_fl ( game . home_team_lg , game . away_team_lg ) game . park_id = cls . _get_stadium_attribute ( soup , 'id' ) game . park_name = cls . _get_stadium_attribute ( soup , 'name' ) game . park_loc = cls . _get_stadium_attribute ( soup , 'location' ) game . retro_game_id = cls . _get_retro_id ( game . home_team_id , timestamp , game_number ) return game
get game data
        :param soup: Beautifulsoup object
        :param timestamp: game day
        :param game_number: game number
        :return: pitchpx.game.game.Game object