|
lsst.pex.config
19.0.0+1
|
Public Member Functions | |
| def | __init__ (self, doc, dtype, default=None, check=None, deprecated=None) |
| def | __get__ (self, instance, owner=None) |
| def | __set__ (self, instance, value, at=None, label="assignment") |
| def | rename (self, instance) |
| def | save (self, outfile, instance) |
| def | freeze (self, instance) |
| def | toDict (self, instance) |
| def | validate (self, instance) |
Public Member Functions inherited from pex.config.config.Field | |
| def | __init__ (self, doc, dtype, 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) |
| def | __get__ (self, instance, owner=None, at=None, label="default") |
| def | __set__ (self, instance, value, at=None, label='assignment') |
| def | __delete__ (self, instance, at=None, label='deletion') |
Additional Inherited Members | |
Public Attributes inherited from pex.config.config.Field | |
| dtype | |
| doc | |
| deprecated | |
| default | |
| check | |
| optional | |
| source | |
Static Public Attributes inherited from pex.config.config.Field | |
| supportedTypes = set((str, bool, float, int, complex)) | |
A configuration field (`~lsst.pex.config.Field` subclass) that takes a
`~lsst.pex.config.Config`-type as a value.
Parameters
----------
doc : `str`
A description of the configuration field.
dtype : `lsst.pex.config.Config`-type
The type of the field, which must be a subclass of
`lsst.pex.config.Config`.
default : `lsst.pex.config.Config`, optional
If default is `None`, the field will default to a default-constructed
instance of ``dtype``. Additionally, to allow for fewer deep-copies,
assigning an instance of ``ConfigField`` to ``dtype`` itself, is
considered equivalent to assigning a default-constructed sub-config.
This means that the argument default can be ``dtype``, as well as an
instance of ``dtype``.
check : callable, optional
A callback function that validates the field's value, returning `True`
if the value is valid, and `False` otherwise.
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.
See also
--------
ChoiceField
ConfigChoiceField
ConfigDictField
ConfigurableField
DictField
Field
ListField
RangeField
RegistryField
Notes
-----
The behavior of this type of field is much like that of the base `Field`
type.
Assigning to ``ConfigField`` will update all of the fields in the
configuration.
| def pex.config.configField.ConfigField.freeze | ( | self, | |
| instance | |||
| ) |
Make this field read-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.**
| def pex.config.configField.ConfigField.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`.
| def pex.config.configField.ConfigField.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.
| def pex.config.configField.ConfigField.toDict | ( | self, | |
| instance | |||
| ) |
Convert the field value so that it can be set as the value of an
item in a `dict` (for internal use only).
Parameters
----------
instance : `Config`
The `Config` that contains this field.
Returns
-------
value : object
The field's value. See *Notes*.
Notes
-----
This method invoked by the owning `~lsst.pex.config.Config` object and
should not be called directly.
Simple values are passed through. Complex data structures must be
manipulated. For example, a `~lsst.pex.config.Field` holding a
subconfig should, instead of the subconfig object, return a `dict`
where the keys are the field names in the subconfig, and the values are
the field values in the subconfig.
| def pex.config.configField.ConfigField.validate | ( | self, | |
| instance | |||
| ) |
Validate the field (for internal use only).
Parameters
----------
instance : `lsst.pex.config.Config`
The config instance that contains this field.
Raises
------
lsst.pex.config.FieldValidationError
Raised if verification fails.
Notes
-----
This method provides basic validation:
- Ensures that the value is not `None` if the field is not optional.
- Ensures type correctness.
- Ensures that the user-provided ``check`` function is valid.
Most `~lsst.pex.config.Field` subclasses should call
`lsst.pex.config.field.Field.validate` if they re-implement
`~lsst.pex.config.field.Field.validate`.
1.8.13