LSSTApplications
16.0-10-g0ee56ad+5,16.0-11-ga33d1f2+5,16.0-12-g3ef5c14+3,16.0-12-g71e5ef5+18,16.0-12-gbdf3636+3,16.0-13-g118c103+3,16.0-13-g8f68b0a+3,16.0-15-gbf5c1cb+4,16.0-16-gfd17674+3,16.0-17-g7c01f5c+3,16.0-18-g0a50484+1,16.0-20-ga20f992+8,16.0-21-g0e05fd4+6,16.0-21-g15e2d33+4,16.0-22-g62d8060+4,16.0-22-g847a80f+4,16.0-25-gf00d9b8+1,16.0-28-g3990c221+4,16.0-3-gf928089+3,16.0-32-g88a4f23+5,16.0-34-gd7987ad+3,16.0-37-gc7333cb+2,16.0-4-g10fc685+2,16.0-4-g18f3627+26,16.0-4-g5f3a788+26,16.0-5-gaf5c3d7+4,16.0-5-gcc1f4bb+1,16.0-6-g3b92700+4,16.0-6-g4412fcd+3,16.0-6-g7235603+4,16.0-69-g2562ce1b+2,16.0-8-g14ebd58+4,16.0-8-g2df868b+1,16.0-8-g4cec79c+6,16.0-8-gadf6c7a+1,16.0-8-gfc7ad86,16.0-82-g59ec2a54a+1,16.0-9-g5400cdc+2,16.0-9-ge6233d7+5,master-g2880f2d8cf+3,v17.0.rc1
LSSTDataManagementBasePackage
|
Public Member Functions | |
def | __init__ (self, doc, typemap, default=None, optional=False, multi=False) |
def | __get__ (self, instance, owner=None) |
def | __set__ (self, instance, value, at=None, label="assignment") |
def | rename (self, instance) |
def | validate (self, instance) |
def | toDict (self, instance) |
def | freeze (self, instance) |
def | save (self, outfile, instance) |
def | __deepcopy__ (self, memo) |
def | __get__ (self, instance, owner=None, at=None, label="default") |
def | __delete__ (self, instance, at=None, label='deletion') |
Public Attributes | |
typemap | |
multi | |
dtype | |
doc | |
default | |
check | |
optional | |
source | |
Static Public Attributes | |
instanceDictClass = ConfigInstanceDict | |
supportedTypes = set((str, bool, float, int, complex)) | |
A configuration field (`~lsst.pex.config.Field` subclass) that allows a user to choose from a set of `~lsst.pex.config.Config` types. Parameters ---------- doc : `str` Documentation string for the field. typemap : `dict`-like A mapping between keys and `~lsst.pex.config.Config`-types as values. See *Examples* for details. default : `str`, optional The default configuration name. optional : `bool`, optional When `False`, `lsst.pex.config.Config.validate` will fail if the field's value is `None`. multi : `bool`, optional If `True`, the field allows multiple selections. In this case, set the selections by assigning a sequence to the ``names`` attribute of the field. If `False`, the field allows only a single selection. In this case, set the active config by assigning the config's key from the ``typemap`` to the field's ``name`` attribute (see *Examples*). See also -------- ChoiceField ConfigDictField ConfigField ConfigurableField DictField Field ListField RangeField RegistryField Notes ----- ``ConfigChoiceField`` instances can allow either single selections or multiple selections, depending on the ``multi`` parameter. For single-selection fields, set the selection with the ``name`` attribute. For multi-selection fields, set the selection though the ``names`` attribute. This field is validated only against the active selection. If the ``active`` attribute is `None` and the field is not optional, validation will fail. When saving a configuration with a ``ConfigChoiceField``, the entire set is saved, as well as the active selection. Examples -------- While the ``typemap`` is shared by all instances of the field, each instance of the field has its own instance of a particular sub-config type. For example, ``AaaConfig`` is a config object >>> from lsst.pex.config import Config, ConfigChoiceField, Field >>> class AaaConfig(Config): ... somefield = Field("doc", int) ... The ``MyConfig`` config has a ``ConfigChoiceField`` field called ``choice`` that maps the ``AaaConfig`` type to the ``"AAA"`` key: >>> TYPEMAP = {"AAA", AaaConfig} >>> class MyConfig(Config): ... choice = ConfigChoiceField("doc for choice", TYPEMAP) ... Creating an instance of ``MyConfig``: >>> instance = MyConfig() Setting value of the field ``somefield`` on the "AAA" key of the ``choice`` field: >>> instance.choice['AAA'].somefield = 5 **Selecting the active configuration** Make the ``"AAA"`` key the active configuration value for the ``choice`` field: >>> instance.choice = "AAA" Alternatively, the last line can be written: >>> instance.choice.name = "AAA" (If the config instance allows multiple selections, you'd assign a sequence to the ``names`` attribute instead.) ``ConfigChoiceField`` instances also allow multiple values of the same type: >>> TYPEMAP["CCC"] = AaaConfig >>> TYPEMAP["BBB"] = AaaConfig
Definition at line 306 of file configChoiceField.py.
def lsst.pex.config.configChoiceField.ConfigChoiceField.__init__ | ( | self, | |
doc, | |||
typemap, | |||
default = None , |
|||
optional = False , |
|||
multi = False |
|||
) |
Definition at line 409 of file configChoiceField.py.
def lsst.pex.config.configChoiceField.ConfigChoiceField.__deepcopy__ | ( | self, | |
memo | |||
) |
Customize deep-copying, because we always want a reference to the original typemap. WARNING: this must be overridden by subclasses if they change the constructor signature!
Definition at line 496 of file configChoiceField.py.
|
inherited |
Delete an attribute from a `lsst.pex.config.Config` instance. Parameters ---------- instance : `lsst.pex.config.Config` The config instance that contains this field. at : `list` of `lsst.pex.config.callStack.StackFrame` The call stack (created by `lsst.pex.config.callStack.getCallStack`). label : `str`, optional Event label for the history. Notes ----- This is invoked by the owning `~lsst.pex.config.Config` object and should not be called directly.
Definition at line 528 of file config.py.
def lsst.pex.config.configChoiceField.ConfigChoiceField.__get__ | ( | self, | |
instance, | |||
owner = None |
|||
) |
Definition at line 428 of file configChoiceField.py.
|
inherited |
Define how attribute access should occur on the Config instance This is invoked by the owning config object and should not be called directly When the field attribute is accessed on a Config class object, it returns the field object itself in order to allow inspection of Config classes. When the field attribute is access on a config instance, the actual value described by the field (and held by the Config instance) is returned.
Definition at line 453 of file config.py.
def lsst.pex.config.configChoiceField.ConfigChoiceField.__set__ | ( | self, | |
instance, | |||
value, | |||
at = None , |
|||
label = "assignment" |
|||
) |
Definition at line 434 of file configChoiceField.py.
def lsst.pex.config.configChoiceField.ConfigChoiceField.freeze | ( | self, | |
instance | |||
) |
Definition at line 481 of file configChoiceField.py.
def lsst.pex.config.configChoiceField.ConfigChoiceField.rename | ( | self, | |
instance | |||
) |
Definition at line 448 of file configChoiceField.py.
def lsst.pex.config.configChoiceField.ConfigChoiceField.save | ( | self, | |
outfile, | |||
instance | |||
) |
Definition at line 486 of file configChoiceField.py.
def lsst.pex.config.configChoiceField.ConfigChoiceField.toDict | ( | self, | |
instance | |||
) |
Definition at line 465 of file configChoiceField.py.
def lsst.pex.config.configChoiceField.ConfigChoiceField.validate | ( | self, | |
instance | |||
) |
Definition at line 453 of file configChoiceField.py.
|
static |
Definition at line 407 of file configChoiceField.py.
lsst.pex.config.configChoiceField.ConfigChoiceField.multi |
Definition at line 414 of file configChoiceField.py.
|
staticinherited |
lsst.pex.config.configChoiceField.ConfigChoiceField.typemap |
Definition at line 413 of file configChoiceField.py.