|
None | __set__ (self, Config instance, ActionTypeVar|type[ActionTypeVar] value, Any at=None, str label="assignment") |
|
ConfigurableActionField[ActionTypeVar] | __get__ (self, None instance, Any owner=None, Any at=None, str label="default") |
|
Any | __get__ (self, Config instance, Any owner=None, Any at=None, str label="default") |
|
| __get__ (self, instance, owner=None, at=None, label="default") |
|
| save (self, outfile, instance) |
|
| __init__ (self, doc, dtype=ConfigurableAction, default=None, check=None, deprecated=None) |
|
| rename (self, instance) |
|
| freeze (self, instance) |
|
| toDict (self, instance) |
|
| validate (self, instance) |
|
| __class_getitem__ (cls, tuple[type,...]|type|ForwardRef params) |
|
| __delete__ (self, instance, at=None, label="deletion") |
|
|
| _collectImports (self, instance, imports) |
|
| _compare (self, instance1, instance2, shortcut, rtol, atol, output) |
|
| _setup (self, doc, dtype, default, check, optional, source, deprecated) |
|
| _validateValue (self, value) |
|
Mapping[str, Any] | _parseTypingArgs (tuple[type,...]|tuple[str,...] params, Mapping[str, Any] kwds) |
|
`ConfigurableActionField` is a subclass of `~lsst.pex.config.Field` that
allows a single `ConfigurableAction` (or a subclass) to be assigned to it.
The `ConfigurableAction` is then accessed through this field for further
configuration.
Any configuration of this field that is done prior to having a new
`ConfigurableAction` assigned to it is forgotten.
None lsst.pex.config.configurableActions._configurableActionField.ConfigurableActionField.__set__ |
( |
|
self, |
|
|
Config |
instance, |
|
|
ActionTypeVar | type[ActionTypeVar] |
value, |
|
|
Any |
at = None , |
|
|
str |
label = "assignment" |
|
) |
| |
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 lsst.pex.config.configField.ConfigField.