CollectionWildcard¶
- class lsst.daf.butler.registry.wildcards.CollectionWildcard(strings: tuple[str, ...] = (), patterns: tuple[re.Pattern, ...] | ellipsis = Ellipsis)¶
Bases:
object
A validated wildcard for collection names.
The
from_expression
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).Notes
CollectionWildcard
is expected to be rarely used outside ofRegistry
(which uses it to back several of its “query” methods that take general expressions for collections), but it may occasionally be useful outsideRegistry
as a way to preprocess expressions that contain single-pass iterators into a form that can be used to call thoseRegistry
methods multiple times.Attributes Summary
Regular expression patterns to match against collection names, or the special value
...
indicating all collections.An an ordered list of explicitly-named collections.
Methods Summary
empty
()Return true if both
strings
andpatterns
are empty.from_expression
(expression[, require_ordered])Process a general expression to construct a
CollectionWildcard
instance.from_names
(names)Construct from an iterable of explicit collection names.
Require that this wildcard contains no patterns, and return the ordered tuple of names that it does hold.
Attributes Documentation
- patterns: tuple[re.Pattern, ...] | ellipsis = Ellipsis¶
Regular expression patterns to match against collection names, or the special value
...
indicating all collections.must be accompanied by
strings=()
.
Methods Documentation
- classmethod from_expression(expression: Any, require_ordered: bool = False) CollectionWildcard ¶
Process a general expression to construct a
CollectionWildcard
instance.- Parameters:
- expression
Any
May be:
a
str
collection name;an
re.Pattern
instance to match (withre.Pattern.fullmatch
) against collection names;any iterable containing any of the above;
another
CollectionWildcard
instance (passed through unchanged).
Duplicate collection names will be removed (preserving the first appearance of each collection name).
- require_ordered
bool
, optional If
True
(False
is default) require the expression to be ordered, and raiseCollectionExpressionError
if it is not.
- expression
- Returns:
- wildcard
CollectionWildcard
A
CollectionWildcard
instance.
- wildcard
- Raises:
- CollectionExpressionError
Raised if the patterns has regular expression, glob patterns, or the
...
wildcard, andrequire_ordered=True
.
- classmethod from_names(names: Iterable[str]) CollectionWildcard ¶
Construct from an iterable of explicit collection names.
- Parameters:
- Returns:
- wildcard~CollectionWildcard`
A
CollectionWildcard
instance.require_ordered
is guaranteed to succeed and return the given names in order.