def _combine_season_stats(self, table_rows, career_stats, all_stats_dict):
        """
        Combine all stats for each season.

        Since all of the stats are spread across multiple tables, they should
        be combined into a single field which can be used to easily query stats
        at once.

        Parameters
        ----------
        table_rows : generator
            A generator where each element is a row in a stats table.
        career_stats : generator
            A generator where each element is a row in the footer of a stats
            table. Career stats are kept in the footer, hence the usage.
        all_stats_dict : dictionary
            A dictionary of all stats separated by season where each key is the
            season ``string``, such as '2017', and the value is a
            ``dictionary`` with a ``string`` of 'data' and ``string``
            containing all of the data.

        Returns
        -------
        dictionary
            Returns an updated version of the passed all_stats_dict which
            includes more metrics from the provided table.
        """
        most_recent_season = self._most_recent_season
        if not table_rows:
            table_rows = []
        for row in table_rows:
            season = self._parse_season(row)
            try:
                all_stats_dict[season]['data'] += str(row)
            except KeyError:
                all_stats_dict[season] = {'data': str(row)}
            most_recent_season = season
        self._most_recent_season = most_recent_season
        if not career_stats:
            return all_stats_dict
        try:
            all_stats_dict['Career']['data'] += str(next(career_stats))
        except KeyError:
            try:
                all_stats_dict['Career'] = {'data': str(next(career_stats))}
            # Occurs when the player doesn't have any career stats listed on
            # their page in error.
            except StopIteration:
                return all_stats_dict
        return all_stats_dict
def _combine_season_stats ( self , table_rows , career_stats , all_stats_dict ) : most_recent_season = self . _most_recent_season if not table_rows : table_rows = [ ] for row in table_rows : season = self . _parse_season ( row ) try : all_stats_dict [ season ] [ 'data' ] += str ( row ) except KeyError : all_stats_dict [ season ] = { 'data' : str ( row ) } most_recent_season = season self . _most_recent_season = most_recent_season if not career_stats : return all_stats_dict try : all_stats_dict [ 'Career' ] [ 'data' ] += str ( next ( career_stats ) ) except KeyError : try : all_stats_dict [ 'Career' ] = { 'data' : str ( next ( career_stats ) ) } except StopIteration : return all_stats_dict return all_stats_dict
Combine all stats for each season.

        Since all of the stats are spread across multiple tables, they should
        be combined into a single field which can be used to easily query stats
        at once.

        Parameters
        ----------
        table_rows : generator
            A generator where each element is a row in a stats table.
        career_stats : generator
            A generator where each element is a row in the footer of a stats
            table. Career stats are kept in the footer, hence the usage.
        all_stats_dict : dictionary
            A dictionary of all stats separated by season where each key is the
            season ``string``, such as '2017', and the value is a
            ``dictionary`` with a ``string`` of 'data' and ``string``
            containing all of the data.

        Returns
        -------
        dictionary
            Returns an updated version of the passed all_stats_dict which
            includes more metrics from the provided table.