control.config._process_param
- control.config._process_param(name, defval, kwargs, alias_mapping, sigval=None)[source]
Process named parameter, checking aliases and legacy usage.
Helper function to process function arguments by mapping aliases to either their default keywords or to a named argument. The alias mapping is a dictionary that returns a tuple consisting of valid aliases and legacy aliases:
alias_mapping = { 'argument_name_1': (['alias', ...], ['legacy', ...]), ...}
If
param
is a named keyword in the function signature with default valuedefval
, a typical calling sequence at the start of a function is:param = _process_param('param', defval, kwargs, function_aliases)
If
param
is a variable keyword argument (inkwargs
),defval
can be passed as either None or the default value to use ifparam
is not present inkwargs
.- Parameters
- namestr
Name of the parameter to be checked.
- defvalobject or dict
Default value for the parameter.
- kwargsdict
Dictionary of variable keyword arguments.
- alias_mappingdict
Dictionary providing aliases and legacy names.
- sigvalobject, optional
Default value specified in the function signature (default = None). If specified, an error will be generated if
defval
is different thansigval
and an alias or legacy keyword is given.
- Returns
- newvalobject
New value of the named parameter.
- Raises
- TypeError
If multiple keyword aliases are used for the same parameter.
- Warns
- PendingDeprecationWarning
If legacy name is used to set the value for the variable.