CompositeAssembler¶
- 
class 
lsst.daf.butler.CompositeAssembler(storageClass)¶ Bases:
objectClass for providing assembler and disassembler support for composites.
Parameters: - storageClass : 
StorageClass StorageClassto be used with this assembler.
Attributes: - storageClass : 
StorageClass 
Methods Summary
assemble(components[, pytype])Construct an object from components based on storageClass. disassemble(composite[, subset, override])Generic implementation of a disassembler. getComponent(composite, componentName)Attempt to retrieve component from composite object by heuristic. getValidComponents(composite)Extract all non-None components from a composite. Methods Documentation
- 
assemble(components, pytype=None)¶ 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
CompositeAssembler.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, subset=None, override=None)¶ 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
CompositeAssembler.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 inCompositeAssembler.storageClassand values beingDatasetComponentinstances describing the component. Returns None if this is not a compositeCompositeAssembler.storageClass.
Raises: - ValueError
 A requested component can not be found in the parent using generic lookups.
- TypeError
 The parent object does not match the supplied
CompositeAssembler.storageClass.
- composite : 
 
- 
getComponent(composite, componentName)¶ 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)¶ 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
CompositeAssembler.storageClass.
- composite : 
 
- storageClass :