|
lsst.pex.config gc75b51116a+846e1f9efd
|
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) |
Public Member Functions inherited from lsst.pex.config.dictField.DictField | |
| def | __init__ (self, doc, keytype=None, itemtype=None, default=None, optional=False, dictCheck=None, itemCheck=None, deprecated=None) |
| def | validate (self, instance) |
| None | __set__ (self, Config instance, Union[Mapping[KeyTypeVar, ItemTypeVar], None] value, Any at=None, str label="assignment") |
| def | toDict (self, instance) |
Public Member Functions inherited from lsst.pex.config.config.Field | |
| def | __class_getitem__ (cls, Union[tuple[type,...], type, ForwardRef] params) |
| def | __init__ (self, doc, dtype=None, default=None, check=None, optional=False, deprecated=None) |
| def | rename (self, instance) |
| def | validate (self, instance) |
| def | freeze (self, instance) |
| def | save (self, outfile, instance) |
| def | toDict (self, instance) |
| "Field[FieldTypeVar]" | __get__ (self, None instance, Any owner=None, Any at=None, str label="default") |
| FieldTypeVar | __get__ (self, "Config" instance, Any owner=None, Any at=None, str label="default") |
| def | __get__ (self, instance, owner=None, at=None, label="default") |
| None | __set__ (self, "Config" instance, Optional[FieldTypeVar] value, Any at=None, str label="assignment") |
| def | __delete__ (self, instance, at=None, label="deletion") |
Public Member Functions inherited from lsst.pex.config.dictField.Dict | |
| def | __init__ (self, config, field, value, at, label, setHistory=True) |
| ItemTypeVar | __getitem__ (self, KeyTypeVar k) |
| int | __len__ (self) |
| Iterator[KeyTypeVar] | __iter__ (self) |
| bool | __contains__ (self, Any k) |
| None | __setitem__ (self, KeyTypeVar k, ItemTypeVar x, Any at=None, str label="setitem", bool setHistory=True) |
| None | __delitem__ (self, KeyTypeVar k, Any at=None, str label="delitem", bool setHistory=True) |
| def | __repr__ (self) |
| def | __str__ (self) |
| def | __setattr__ (self, attr, value, at=None, label="assignment") |
| def | __reduce__ (self) |
Public Attributes | |
| keytype | |
| itemtype | |
| dictCheck | |
| itemCheck | |
Public Attributes inherited from lsst.pex.config.dictField.DictField | |
| keytype | |
| itemtype | |
| dictCheck | |
| itemCheck | |
Public Attributes inherited from lsst.pex.config.config.Field | |
| dtype | |
| doc | |
| deprecated | |
| default | |
| check | |
| optional | |
| source | |
Static Public Attributes | |
| DictClass = ConfigDict | |
Static Public Attributes inherited from lsst.pex.config.config.Field | |
| supportedTypes = set((str, bool, float, int, complex)) | |
Additional Inherited Members | |
Properties inherited from lsst.pex.config.dictField.Dict | |
| history = property(lambda x: x._history) | |
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.
| def lsst.pex.config.configDictField.ConfigDictField.__init__ | ( | self, | |
| doc, | |||
| keytype, | |||
| itemtype, | |||
default = None, |
|||
optional = False, |
|||
dictCheck = None, |
|||
itemCheck = None, |
|||
deprecated = None |
|||
| ) |
Reimplemented from lsst.pex.config.dictField.DictField.
| def lsst.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 lsst.pex.config.config.Field.
| def lsst.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 lsst.pex.config.config.Field.
| def lsst.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 lsst.pex.config.config.Field.
| def lsst.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 lsst.pex.config.dictField.DictField.
| def lsst.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 lsst.pex.config.dictField.DictField.