async def get_team_stats(self, team_name, season): """Returns a team's stats, as seen on their page on Understat, in the given season. :param team_name: A team's name, e.g. Manchester United. :type team_name: str :param season: A season / year, e.g. 2018. :type season: int or str :return: A dictionary containing a team's stats. :rtype: dict """ url = TEAM_URL.format(team_name.replace(" ", "_"), season) team_stats = await get_data(self.session, url, "statisticsData") return team_stats
async def get_team_players( self, team_name, season, options=None, **kwargs): """Returns a team's player statistics in the given season. :param team_name: A team's name. :type team_name: str :param season: The season. :type season: int or str :param options: Options to filter the data by, defaults to None. :param options: dict, optional :return: List of the team's players' statistics in the given season. :rtype: list """ url = TEAM_URL.format(team_name.replace(" ", "_"), season) players_data = await get_data(self.session, url, "playersData") if options: kwargs = options filtered_data = filter_data(players_data, kwargs) return filtered_data
async def get_team_fixtures( self, team_name, season, options=None, **kwargs): """Returns a team's upcoming fixtures in the given season. :param team_name: A team's name. :type team_name: str :param season: The season. :type season: int or str :param options: Options to filter the data by, defaults to None. :param options: dict, optional :return: List of the team's upcoming fixtures in the given season. :rtype: list """ url = TEAM_URL.format(team_name.replace(" ", "_"), season) dates_data = await get_data(self.session, url, "datesData") fixtures = [f for f in dates_data if not f["isResult"]] if options: kwargs = options filtered_data = filter_data(fixtures, kwargs) return filtered_data
def get_team_results( self, team_name, season, options=None, **kwargs): """Returns a team's results in the given season. :param team_name: A team's name. :type team_name: str :param season: The season. :type season: int or str :param options: Options to filter the data by, defaults to None. :param options: dict, optional :return: List of the team's results in the given season. :rtype: list """ url = TEAM_URL.format(team_name.replace(" ", "_"), season) dates_data = get_data(url, "datesData") results = [r for r in dates_data if r["isResult"]] if options: kwargs = options filtered_data = filter_data(results, kwargs) return filtered_data