Allow a keyword arg to be specified either as a keyword or a boolean.
This arg type is the most flexible way to allow keyword parameters
to be specified. Say there is an option like fontsize that can
take the values small or large . This could be represented as KeywordOrBooleanArg(options=["small", "large"], argname="fontsize")
In that case, the fontsize could be specified in any of the
following ways: g.hardcopy(..., fontsize="small", ...)
g.hardcopy(..., fontsize="large", ...)
g.hardcopy(..., small=1, ...)
g.hardcopy(..., large=1, ...)
If argname is set to be None , then the first two possibilities
are omitted.
In the special case that there are exactly two alternatives, one
can also use: g.hardcopy(..., small=0, ...) # implies fontsize="large"
g.hardcopy(..., large=0, ...) # implies fontsize="small"
Obviously care must be taken to ensure that none of the implied
keyword parameter names conflict with one another or with any of
the other Args allowed by a function.
Members:
-
options
- a list of strings representing allowed keyword
values. These options can be used as boolean values in
the style
option=1 .
-
argname
- the name of the argname for the
arg=value style
of setting the argument. If None , then this style is
not allowed.
-
fixedword
- a fixed keyword that must precede the option,
or
None .
-
default
- the default option to set if nothing is set
explicitly, or None to leave nothing set in that case.
Methods
|
|
__call__
__init__
|
|
__call__
|
__call__ ( self, keyw )
Exceptions
|
|
Errors.OptionError('Arguments %s and %s are contradictory' %( self.argname, k, ) )
Errors.OptionError('Arguments %s and %s cannot both be specified' %( option, k, ) )
Errors.OptionError('Illegal option %s=%s' %( self.argname, k, ) )
|
|
|
__init__
|
__init__ (
self,
options,
argname=None,
fixedword=None,
default=None,
)
|
|