MockStorageClassDelegate#
- class lsst.pipe.base.tests.mocks.MockStorageClassDelegate(storageClass: StorageClass)#
Bases:
StorageClassDelegateImplementation of the StorageClassDelegate interface for mock datasets.
This class does not implement assembly and disassembly just because it’s not needed right now. That could be added in the future with some additional tracking attributes in
MockDataset.Methods Summary
assemble(components[, pytype])Construct an object from components based on storageClass.
disassemble(composite[, subset, override])Disassembler a composite.
getComponent(composite, componentName)Attempt to retrieve component from composite object by heuristic.
handleParameters(inMemoryDataset[, parameters])Modify the in-memory dataset using the supplied parameters.
Methods Documentation
- assemble(components: dict[str, Any], pytype: type | None = None) MockDataset#
Construct an object from components based on storageClass.
This generic implementation assumes that instances of objects can be created either by passing all the components to a constructor or by calling setter methods with the name.
Parameters#
- components
dict Collection of components from which to assemble a new composite object. Keys correspond to composite names in the
StorageClass.- pytype
type, optional Override the type from the
StorageClassDelegate.storageClassto use when assembling the final object.
Returns#
- composite
object New composite object assembled from components.
Raises#
- ValueError
Some components could not be used to create the object or, alternatively, some components were not defined in the associated StorageClass.
- components
- disassemble(composite: Any, subset: Iterable | None = None, override: Any | None = None) dict[str, DatasetComponent]#
Disassembler a composite.
This is a generic implementation of a disassembler. This implementation attempts to extract components from the parent by looking for attributes of the same name or getter methods derived from the component name.
Parameters#
- composite
object Parent composite object consisting of components to be extracted.
- subsetiterable, optional
Iterable containing subset of components to extract from composite. Must be a subset of those defined in
StorageClassDelegate.storageClass.- override
object, optional Object to use for disassembly instead of parent. This can be useful when called from subclasses that have composites in a hierarchy.
Returns#
- components
dict dictwith keys matching the components defined inStorageClassDelegate.storageClassand values beingDatasetComponentinstances describing the component.
Raises#
- ValueError
A requested component can not be found in the parent using generic lookups.
- TypeError
The parent object does not match the supplied
StorageClassDelegate.storageClass.
- composite
- getComponent(composite: Any, componentName: str) Any#
Attempt to retrieve component from composite object by heuristic.
Will attempt a direct attribute retrieval, or else getter methods of the form “get_componentName” and “getComponentName”.
Parameters#
- composite
object Item to query for the component.
- componentName
str Name of component to retrieve.
Returns#
- component
object Component extracted from composite.
Raises#
- AttributeError
The attribute could not be read from the composite.
- composite
- handleParameters(inMemoryDataset: Any, parameters: Mapping[str, Any] | None = None) Any#
Modify the in-memory dataset using the supplied parameters.
Can return a possibly new object.
For safety, if any parameters are given to this method an exception will be raised. This is to protect the user from thinking that parameters have been applied when they have not been applied.
Parameters#
- inMemoryDataset
object Object to modify based on the parameters.
- parameters
dict Parameters to apply. Values are specific to the parameter. Supported parameters are defined in the associated
StorageClass. If no relevant parameters are specified the inMemoryDataset will be return unchanged.
Returns#
- inMemoryDataset
object Updated form of supplied in-memory dataset, after parameters have been used.
Raises#
- ValueError
Parameters have been provided to this default implementation.
- inMemoryDataset