sportsref/nfl/finders/GPF.py
def _kwargs_to_qs(**kwargs):
    """Converts kwargs given to GPF to a querystring.

    :returns: the querystring.
    """
    # start with defaults
    inpOptDef = inputs_options_defaults()
    opts = {
        name: dct['value']
        for name, dct in inpOptDef.items()
    }

    # clean up keys and values
    for k, v in kwargs.items():
        # pID, playerID => player_id
        if k.lower() in ('pid', 'playerid'):
            del kwargs[k]
            kwargs['player_id'] = v
        # player_id can accept rel URLs
        if k == 'player_id':
            if v.startswith('/players/'):
                kwargs[k] = utils.rel_url_to_id(v)
        # bool => 'Y'|'N'
        if isinstance(v, bool):
            kwargs[k] = 'Y' if v else 'N'
        # tm, team => team_id
        if k.lower() in ('tm', 'team'):
            del kwargs[k]
            kwargs['team_id'] = v
        # yr_min, yr_max => year_min, year_max
        if k.lower() in ('yr_min', 'yr_max'):
            del kwargs[k]
            if k.lower() == 'yr_min':
                kwargs['year_min'] = int(v)
            else:
                kwargs['year_max'] = int(v)
        # wk_min, wk_max => week_num_min, week_num_max
        if k.lower() in ('wk_min', 'wk_max'):
            del kwargs[k]
            if k.lower() == 'wk_min':
                kwargs['week_num_min'] = int(v)
            else:
                kwargs['week_num_max'] = int(v)
        # yr, year, yrs, years => year_min, year_max
        if k.lower() in ('yr', 'year', 'yrs', 'years'):
            del kwargs[k]
            if isinstance(v, collections.Iterable):
                lst = list(v)
                kwargs['year_min'] = min(lst)
                kwargs['year_max'] = max(lst)
            elif isinstance(v, basestring):
                v = list(map(int, v.split(',')))
                kwargs['year_min'] = min(v)
                kwargs['year_max'] = max(v)
            else:
                kwargs['year_min'] = v
                kwargs['year_max'] = v
        # wk, week, wks, weeks => week_num_min, week_num_max
        if k.lower() in ('wk', 'week', 'wks', 'weeks'):
            del kwargs[k]
            if isinstance(v, collections.Iterable):
                lst = list(v)
                kwargs['week_num_min'] = min(lst)
                kwargs['week_num_max'] = max(lst)
            elif isinstance(v, basestring):
                v = list(map(int, v.split(',')))
                kwargs['week_num_min'] = min(v)
                kwargs['week_num_max'] = max(v)
            else:
                kwargs['week_num_min'] = v
                kwargs['week_num_max'] = v
        # if playoff_round defined, then turn on playoff flag
        if k == 'playoff_round':
            kwargs['game_type'] = 'P'
        if isinstance(v, basestring):
            v = v.split(',')
        if not isinstance(v, collections.Iterable):
            v = [v]

    # reset values to blank for defined kwargs
    for k in kwargs:
        if k in opts:
            opts[k] = []

    # update based on kwargs
    for k, v in kwargs.items():
        # if overwriting a default, overwrite it
        if k in opts:
            # if multiple values separated by commas, split em
            if isinstance(v, basestring):
                v = v.split(',')
            elif not isinstance(v, collections.Iterable):
                v = [v]
            for val in v:
                opts[k].append(val)

    opts['request'] = [1]

    qs = '&'.join('{}={}'.format(name, val)
                  for name, vals in sorted(opts.items()) for val in vals)

    return qs
def _kwargs_to_qs(**kwargs):
    """Converts kwargs given to GPF to a querystring.

    :returns: the querystring.
    """
    # start with defaults
    inpOptDef = inputs_options_defaults()
    opts = {
        name: dct['value']
        for name, dct in inpOptDef.items()
    }

    # clean up keys and values
    for k, v in kwargs.items():
        # pID, playerID => player_id
        if k.lower() in ('pid', 'playerid'):
            del kwargs[k]
            kwargs['player_id'] = v
        # player_id can accept rel URLs
        if k == 'player_id':
            if v.startswith('/players/'):
                kwargs[k] = utils.rel_url_to_id(v)
        # bool => 'Y'|'N'
        if isinstance(v, bool):
            kwargs[k] = 'Y' if v else 'N'
        # tm, team => team_id
        if k.lower() in ('tm', 'team'):
            del kwargs[k]
            kwargs['team_id'] = v
        # yr_min, yr_max => year_min, year_max
        if k.lower() in ('yr_min', 'yr_max'):
            del kwargs[k]
            if k.lower() == 'yr_min':
                kwargs['year_min'] = int(v)
            else:
                kwargs['year_max'] = int(v)
        # wk_min, wk_max => week_num_min, week_num_max
        if k.lower() in ('wk_min', 'wk_max'):
            del kwargs[k]
            if k.lower() == 'wk_min':
                kwargs['week_num_min'] = int(v)
            else:
                kwargs['week_num_max'] = int(v)
        # yr, year, yrs, years => year_min, year_max
        if k.lower() in ('yr', 'year', 'yrs', 'years'):
            del kwargs[k]
            if isinstance(v, collections.Iterable):
                lst = list(v)
                kwargs['year_min'] = min(lst)
                kwargs['year_max'] = max(lst)
            elif isinstance(v, basestring):
                v = list(map(int, v.split(',')))
                kwargs['year_min'] = min(v)
                kwargs['year_max'] = max(v)
            else:
                kwargs['year_min'] = v
                kwargs['year_max'] = v
        # wk, week, wks, weeks => week_num_min, week_num_max
        if k.lower() in ('wk', 'week', 'wks', 'weeks'):
            del kwargs[k]
            if isinstance(v, collections.Iterable):
                lst = list(v)
                kwargs['week_num_min'] = min(lst)
                kwargs['week_num_max'] = max(lst)
            elif isinstance(v, basestring):
                v = list(map(int, v.split(',')))
                kwargs['week_num_min'] = min(v)
                kwargs['week_num_max'] = max(v)
            else:
                kwargs['week_num_min'] = v
                kwargs['week_num_max'] = v
        # if playoff_round defined, then turn on playoff flag
        if k == 'playoff_round':
            kwargs['game_type'] = 'P'
        if isinstance(v, basestring):
            v = v.split(',')
        if not isinstance(v, collections.Iterable):
            v = [v]

    # reset values to blank for defined kwargs
    for k in kwargs:
        if k in opts:
            opts[k] = []

    # update based on kwargs
    for k, v in kwargs.items():
        # if overwriting a default, overwrite it
        if k in opts:
            # if multiple values separated by commas, split em
            if isinstance(v, basestring):
                v = v.split(',')
            elif not isinstance(v, collections.Iterable):
                v = [v]
            for val in v:
                opts[k].append(val)

    opts['request'] = [1]

    qs = '&'.join('{}={}'.format(name, val)
                  for name, vals in sorted(opts.items()) for val in vals)

    return qs
def _kwargs_to_qs ( * * kwargs ) : # start with defaults inpOptDef = inputs_options_defaults ( ) opts = { name : dct [ 'value' ] for name , dct in inpOptDef . items ( ) } # clean up keys and values for k , v in kwargs . items ( ) : # pID, playerID => player_id if k . lower ( ) in ( 'pid' , 'playerid' ) : del kwargs [ k ] kwargs [ 'player_id' ] = v # player_id can accept rel URLs if k == 'player_id' : if v . startswith ( '/players/' ) : kwargs [ k ] = utils . rel_url_to_id ( v ) # bool => 'Y'|'N' if isinstance ( v , bool ) : kwargs [ k ] = 'Y' if v else 'N' # tm, team => team_id if k . lower ( ) in ( 'tm' , 'team' ) : del kwargs [ k ] kwargs [ 'team_id' ] = v # yr_min, yr_max => year_min, year_max if k . lower ( ) in ( 'yr_min' , 'yr_max' ) : del kwargs [ k ] if k . lower ( ) == 'yr_min' : kwargs [ 'year_min' ] = int ( v ) else : kwargs [ 'year_max' ] = int ( v ) # wk_min, wk_max => week_num_min, week_num_max if k . lower ( ) in ( 'wk_min' , 'wk_max' ) : del kwargs [ k ] if k . lower ( ) == 'wk_min' : kwargs [ 'week_num_min' ] = int ( v ) else : kwargs [ 'week_num_max' ] = int ( v ) # yr, year, yrs, years => year_min, year_max if k . lower ( ) in ( 'yr' , 'year' , 'yrs' , 'years' ) : del kwargs [ k ] if isinstance ( v , collections . Iterable ) : lst = list ( v ) kwargs [ 'year_min' ] = min ( lst ) kwargs [ 'year_max' ] = max ( lst ) elif isinstance ( v , basestring ) : v = list ( map ( int , v . split ( ',' ) ) ) kwargs [ 'year_min' ] = min ( v ) kwargs [ 'year_max' ] = max ( v ) else : kwargs [ 'year_min' ] = v kwargs [ 'year_max' ] = v # wk, week, wks, weeks => week_num_min, week_num_max if k . lower ( ) in ( 'wk' , 'week' , 'wks' , 'weeks' ) : del kwargs [ k ] if isinstance ( v , collections . Iterable ) : lst = list ( v ) kwargs [ 'week_num_min' ] = min ( lst ) kwargs [ 'week_num_max' ] = max ( lst ) elif isinstance ( v , basestring ) : v = list ( map ( int , v . split ( ',' ) ) ) kwargs [ 'week_num_min' ] = min ( v ) kwargs [ 'week_num_max' ] = max ( v ) else : kwargs [ 'week_num_min' ] = v kwargs [ 'week_num_max' ] = v # if playoff_round defined, then turn on playoff flag if k == 'playoff_round' : kwargs [ 'game_type' ] = 'P' if isinstance ( v , basestring ) : v = v . split ( ',' ) if not isinstance ( v , collections . Iterable ) : v = [ v ] # reset values to blank for defined kwargs for k in kwargs : if k in opts : opts [ k ] = [ ] # update based on kwargs for k , v in kwargs . items ( ) : # if overwriting a default, overwrite it if k in opts : # if multiple values separated by commas, split em if isinstance ( v , basestring ) : v = v . split ( ',' ) elif not isinstance ( v , collections . Iterable ) : v = [ v ] for val in v : opts [ k ] . append ( val ) opts [ 'request' ] = [ 1 ] qs = '&' . join ( '{}={}' . format ( name , val ) for name , vals in sorted ( opts . items ( ) ) for val in vals ) return qs
Converts kwargs given to GPF to a querystring.

    :returns: the querystring.
Converts kwargs given to GPF to a querystring .