LSSTApplications
19.0.0-14-gb0260a2+2d714fc2ef,20.0.0+34a42eae2c,20.0.0+76f397ef0c,20.0.0+8558dd3f48,20.0.0+a6b6977b51,20.0.0+b2ea66fa67,20.0.0+cc669a8b45,20.0.0+d561663fb5,20.0.0+d778e99126,20.0.0+efe67588cf,20.0.0+f45b7d88f4,20.0.0+f7c597f720,20.0.0+fb43bee9b9,20.0.0+fb4d547e0d,20.0.0-1-g10df615+d8b88ec1b5,20.0.0-1-g253301a+a6b6977b51,20.0.0-1-g498fb60+ff88705a28,20.0.0-1-g4d801e7+ce0d01dabd,20.0.0-1-g5b95a8c+24eaf908b3,20.0.0-1-g8a53f90+2817c06967,20.0.0-1-gc96f8cb+fb4d547e0d,20.0.0-1-gd1c87d7+2817c06967,20.0.0-1-gdb27ee5+abab67204f,20.0.0-13-ge998c5c+9f8c516ffa,20.0.0-18-g08fba245+88079d2923,20.0.0-2-gec03fae+fb98bf9d97,20.0.0-3-gdd5c15c+a61313b210,20.0.0-34-gdb4d86a+b43b2c05ff,20.0.0-4-g4a2362f+f45b7d88f4,20.0.0-4-gfea843c+f45b7d88f4,20.0.0-5-gac0d578b1+a8c4e2ada3,20.0.0-5-gfcebe35+cfceff6a24,20.0.0-6-g01203fff+e332440eaf,20.0.0-8-gea2affd+48c001ce3c,20.0.0-9-gabd0d4c+abab67204f,20.0.0-9-gf3ab18e+fb4d547e0d,w.2020.33
LSSTDataManagementBasePackage
|
Public Member Functions | |
def | __init__ (self, doc, keytype, itemtype, default=None, optional=False, dictCheck=None, itemCheck=None, deprecated=None) |
def | rename (self, instance) |
def | validate (self, instance) |
def | toDict (self, instance) |
def | save (self, outfile, instance) |
def | freeze (self, instance) |
def | __set__ (self, instance, value, at=None, label="assignment") |
def | __get__ (self, instance, owner=None, at=None, label="default") |
def | __delete__ (self, instance, at=None, label='deletion') |
Public Attributes | |
keytype | |
itemtype | |
dictCheck | |
itemCheck | |
dtype | |
doc | |
deprecated | |
default | |
check | |
optional | |
source | |
Static Public Attributes | |
DictClass = ConfigDict | |
supportedTypes = set((str, bool, float, int, complex)) | |
A configuration field (`~lsst.pex.config.Field` subclass) that is a mapping of keys to `~lsst.pex.config.Config` instances. ``ConfigDictField`` behaves like `DictField` except that the ``itemtype`` must be a `~lsst.pex.config.Config` subclass. Parameters ---------- doc : `str` A description of the configuration field. keytype : {`int`, `float`, `complex`, `bool`, `str`} The type of the mapping keys. All keys must have this type. itemtype : `lsst.pex.config.Config`-type The type of the values in the mapping. This must be `~lsst.pex.config.Config` or a subclass. default : optional Unknown. default : ``itemtype``-dtype, optional Default value of this field. optional : `bool`, optional If `True`, this configuration `~lsst.pex.config.Field` is *optional*. Default is `True`. deprecated : None or `str`, optional A description of why this Field is deprecated, including removal date. If not None, the string is appended to the docstring for this Field. Raises ------ ValueError Raised if the inputs are invalid: - ``keytype`` or ``itemtype`` arguments are not supported types (members of `ConfigDictField.supportedTypes`. - ``dictCheck`` or ``itemCheck`` is not a callable function. See also -------- ChoiceField ConfigChoiceField ConfigField ConfigurableField DictField Field ListField RangeField RegistryField Notes ----- You can use ``ConfigDictField`` to create name-to-config mappings. One use case is for configuring mappings for dataset types in a Butler. In this case, the dataset type names are arbitrary and user-selected while the mapping configurations are known and fixed.
Definition at line 92 of file configDictField.py.
def pex.config.configDictField.ConfigDictField.__init__ | ( | self, | |
doc, | |||
keytype, | |||
itemtype, | |||
default = None , |
|||
optional = False , |
|||
dictCheck = None , |
|||
itemCheck = None , |
|||
deprecated = None |
|||
) |
Reimplemented from pex.config.dictField.DictField.
Definition at line 150 of file configDictField.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 573 of file config.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.
Reimplemented in pex.config.configurableField.ConfigurableField.
Definition at line 498 of file config.py.
|
inherited |
Set an attribute on the config instance. Parameters ---------- instance : `lsst.pex.config.Config` The config instance that contains this field. value : obj Value to set on 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 method is invoked by the owning `lsst.pex.config.Config` object and should not be called directly. Derived `~lsst.pex.config.Field` classes may need to override the behavior. When overriding ``__set__``, `~lsst.pex.config.Field` authors should follow the following rules: - Do not allow modification of frozen configs. - Validate the new value **before** modifying the field. Except if the new value is `None`. `None` is special and no attempt should be made to validate it until `lsst.pex.config.Config.validate` is called. - Do not modify the `~lsst.pex.config.Config` instance to contain invalid values. - If the field is modified, update the history of the `lsst.pex.config.field.Field` to reflect the changes. In order to decrease the need to implement this method in derived `~lsst.pex.config.Field` types, value validation is performed in the `lsst.pex.config.Field._validateValue`. If only the validation step differs in the derived `~lsst.pex.config.Field`, it is simpler to implement `lsst.pex.config.Field._validateValue` than to reimplement ``__set__``. More complicated behavior, however, may require reimplementation.
Reimplemented from pex.config.config.Field.
Definition at line 258 of file dictField.py.
def pex.config.configDictField.ConfigDictField.freeze | ( | self, | |
instance | |||
) |
Make this field read-only (for internal use only). Parameters ---------- instance : `lsst.pex.config.Config` The config instance that contains this field. Notes ----- Freezing is only relevant for fields that hold subconfigs. Fields which hold subconfigs should freeze each subconfig. **Subclasses should implement this method.**
Reimplemented from pex.config.config.Field.
Definition at line 212 of file configDictField.py.
def pex.config.configDictField.ConfigDictField.rename | ( | self, | |
instance | |||
) |
Rename the field in a `~lsst.pex.config.Config` (for internal use only). Parameters ---------- instance : `lsst.pex.config.Config` The config instance that contains this field. Notes ----- This method is invoked by the `lsst.pex.config.Config` object that contains this field and should not be called directly. Renaming is only relevant for `~lsst.pex.config.Field` instances that hold subconfigs. `~lsst.pex.config.Fields` that hold subconfigs should rename each subconfig with the full field name as generated by `lsst.pex.config.config._joinNamePath`.
Reimplemented from pex.config.config.Field.
Definition at line 171 of file configDictField.py.
def pex.config.configDictField.ConfigDictField.save | ( | self, | |
outfile, | |||
instance | |||
) |
Save this field to a file (for internal use only). Parameters ---------- outfile : file-like object A writeable field handle. instance : `Config` The `Config` instance that contains this field. Notes ----- This method is invoked by the `~lsst.pex.config.Config` object that contains this field and should not be called directly. The output consists of the documentation string (`lsst.pex.config.Field.doc`) formatted as a Python comment. The second line is formatted as an assignment: ``{fullname}={value}``. This output can be executed with Python.
Reimplemented from pex.config.config.Field.
Definition at line 200 of file configDictField.py.
def pex.config.configDictField.ConfigDictField.toDict | ( | self, | |
instance | |||
) |
Convert this field's key-value pairs into a regular `dict`. Parameters ---------- instance : `lsst.pex.config.Config` The configuration that contains this field. Returns ------- result : `dict` or `None` If this field has a value of `None`, then this method returns `None`. Otherwise, this method returns the field's value as a regular Python `dict`.
Reimplemented from pex.config.dictField.DictField.
Definition at line 189 of file configDictField.py.
def pex.config.configDictField.ConfigDictField.validate | ( | self, | |
instance | |||
) |
Validate the field's value (for internal use only). Parameters ---------- instance : `lsst.pex.config.Config` The configuration that contains this field. Returns ------- isValid : `bool` `True` is returned if the field passes validation criteria (see *Notes*). Otherwise `False`. Notes ----- This method validates values according to the following criteria: - A non-optional field is not `None`. - If a value is not `None`, is must pass the `ConfigField.dictCheck` user callback functon. Individual item checks by the `ConfigField.itemCheck` user callback function are done immediately when the value is set on a key. Those checks are not repeated by this method.
Reimplemented from pex.config.dictField.DictField.
Definition at line 178 of file configDictField.py.
pex.config.configDictField.ConfigDictField.dictCheck |
Definition at line 167 of file configDictField.py.
|
static |
Definition at line 148 of file configDictField.py.
pex.config.configDictField.ConfigDictField.itemCheck |
Definition at line 168 of file configDictField.py.
pex.config.configDictField.ConfigDictField.itemtype |
Definition at line 166 of file configDictField.py.
pex.config.configDictField.ConfigDictField.keytype |
Definition at line 165 of file configDictField.py.
|
staticinherited |