CompositeAssembler¶
- 
class lsst.daf.butler.CompositeAssembler(storageClass)¶
- Bases: - object- Class 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 in- CompositeAssembler.storageClassand values being- DatasetComponentinstances describing the component. Returns None if this is not a composite- CompositeAssembler.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 :