CollectionSearch¶
-
class
lsst.daf.butler.registry.wildcards.
CollectionSearch
(collections: Tuple[str, ...])¶ Bases:
collections.abc.Sequence
,typing.Generic
An ordered search path of collections.
The
fromExpression
method should almost always be used to construct instances, as the regular constructor performs no checking of inputs (and that can lead to confusing error messages downstream).Parameters: Notes
A
CollectionSearch
is used to find a single dataset (or set of datasets with different dataset types or data IDs) according to its dataset type and data ID, giving preference to collections in the order in which they are specified. ACollectionQuery
can be constructed from a broader range of expressions but does not order the collections to be searched.CollectionSearch
is an immutable sequence ofstr
collection names.A
CollectionSearch
instance constructed properly (e.g. viafromExpression
) is a unique representation of a particular search path; it is exactly the same internally and compares as equal to anyCollectionSearch
constructed from an equivalent expression, regardless of how different the original expressions appear.Methods Summary
count
(value)fromExpression
(expression)Process a general expression to construct a CollectionSearch
instance.index
(value, [start, [stop]])Raises ValueError if the value is not present. iter
(manager, *, datasetType, …)Iterate over collection records that match this instance and the given criteria, in order. Methods Documentation
-
count
(value) → integer -- return number of occurrences of value¶
-
classmethod
fromExpression
(expression: Any) → lsst.daf.butler.registry.wildcards.CollectionSearch¶ Process a general expression to construct a
CollectionSearch
instance.Parameters: - expression
- May be:
- a
str
collection name; - an iterable of
str
collection names; - another
CollectionSearch
instance (passed through unchanged).
- a
Duplicate entries will be removed (preserving the first appearance of each collection name).
- Returns
- ——-
- collections :
CollectionSearch
A
CollectionSearch
instance.
-
index
(value[, start[, stop]]) → integer -- return first index of value.¶ Raises ValueError if the value is not present.
Supporting start and stop arguments is optional, but recommended.
-
iter
(manager: CollectionManager, *, datasetType: Optional[DatasetType] = None, collectionTypes: AbstractSet[CollectionType] = frozenset({<CollectionType.RUN: 1>, <CollectionType.TAGGED: 2>, <CollectionType.CHAINED: 3>, <CollectionType.CALIBRATION: 4>}), done: Optional[Set[str]] = None, flattenChains: bool = True, includeChains: Optional[bool] = None) → Iterator[CollectionRecord]¶ Iterate over collection records that match this instance and the given criteria, in order.
This method is primarily intended for internal use by
Registry
; other callers should generally preferRegistry.findDatasets
or otherRegistry
query methods.Parameters: - manager :
CollectionManager
Object responsible for managing the collection tables in a
Registry
.- collectionTypes :
AbstractSet
[CollectionType
], optional If provided, only yield collections of these types.
- done :
set
, optional A
set
containing the names of all collections already yielded; any collections whose names are already present in this set will not be yielded again, and those yielded will be added to it while iterating. If not provided, an emptyset
will be created and used internally to avoid duplicates.- flattenChains :
bool
, optional If
True
(default) recursively yield the child collections ofCHAINED
collections.- includeChains :
bool
, optional If
False
, return records forCHAINED
collections themselves. The default is the opposite offlattenChains
: either return records for CHAINED collections or their children, but not both.
Yields: - record :
CollectionRecord
Matching collection records.
- manager :
-