ListDelegate¶
-
class
lsst.daf.butler.tests.
ListDelegate
(storageClass: StorageClass)¶ Bases:
lsst.daf.butler.StorageClassDelegate
Parameter handler for list parameters
Methods Summary
assemble
(components, Any], pytype, None] = None)Construct an object from components based on storageClass. disassemble
(composite, subset, None] = None, …)Disassembler a composite. getComponent
(composite, componentName)Attempt to retrieve component from composite object by heuristic. getValidComponents
(composite)Extract all non-None components from a composite. handleParameters
(inMemoryDataset, …)Modify the in-memory dataset using the supplied parameters, returning a possibly new object. selectResponsibleComponent
(derivedComponent, …)Select the best component for calculating a derived component. Methods Documentation
-
assemble
(components: Dict[str, Any], pytype: Optional[Type, None] = None) → Any¶ 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: 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.
- composite :
-
disassemble
(composite: Any, subset: Optional[Iterable, None] = None, override: Optional[Any, None] = None) → Dict[str, lsst.daf.butler.core.storageClassDelegate.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.
- subset : iterable, 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: 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: Returns: - component :
object
Component extracted from composite.
Raises: - AttributeError
The attribute could not be read from the composite.
- component :
-
getValidComponents
(composite: Any) → Dict[str, Any]¶ Extract all non-None components from a composite.
Parameters: - composite :
object
Composite from which to extract components.
Returns: - comps :
dict
Non-None components extracted from the composite, indexed by the component name as derived from the
StorageClassDelegate.storageClass
.
- composite :
-
handleParameters
(inMemoryDataset: Any, parameters: Optional[collections.abc.Mapping[str, Any], None] = None) → Any¶ Modify the in-memory dataset using the supplied parameters, returning a possibly new object.
Parameters: Returns: - inMemoryDataset :
object
Updated form of supplied in-memory dataset, after parameters have been used.
- inMemoryDataset :
-
classmethod
selectResponsibleComponent
(derivedComponent: str, fromComponents: Set[Optional[str, None]]) → str¶ Select the best component for calculating a derived component.
Given a possible set of components to choose from, return the component that should be used to calculate the requested derived component.
Parameters: Returns: - required :
str
The component that should be used.
Raises: - NotImplementedError
Raised if this delegate refuses to answer the question.
- ValueError
Raised if this delegate can not determine a relevant component from the supplied options.
- required :
-