CategorizedWildcard¶
- class lsst.daf.butler.registry.wildcards.CategorizedWildcard(strings: list[str], patterns: list[re.Pattern], items: list[tuple[str, Any]])¶
- Bases: - object- The results of preprocessing a wildcard expression to separate match patterns from strings. - The - fromExpressionmethod 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).- Methods Summary - fromExpression(expression, *[, allowAny, ...])- Categorize a wildcard expression. - Methods Documentation - classmethod fromExpression(expression: Any, *, allowAny: bool = True, allowPatterns: bool = True, coerceUnrecognized: Callable[[Any], tuple[str, Any] | str] | None = None, coerceItemValue: Callable[[Any], Any] | None = None, defaultItemValue: Any | None = None) CategorizedWildcard | ellipsis¶
- Categorize a wildcard expression. - Parameters:
- expression
- The expression to categorize. May be any of:
- re.Pattern(only if- allowPatternsis- True);
- objects recognized by - coerceUnrecognized(if provided);
- two-element tuples of ( - str, value) where value is recognized by- coerceItemValue(if provided);
- a non- - str, non-mapping iterable containing any of the above;
- the special value - (only if- allowAnyis- True), which matches anything;
- a mapping from - strto a value are recognized by- coerceItemValue(if provided);
- a - CategorizedWildcardinstance (passed through unchanged if it meets the requirements specified by keyword arguments).
 
 
- allowAny: `bool`, optional
- If - False(- Trueis default) raise- TypeErrorif- is encountered.
- allowPatterns: `bool`, optional
- If - False(- Trueis default) raise- TypeErrorif a- re.Patternis encountered, or if- expressionis a- CategorizedWildcardwith- patternsnot empty.
- coerceUnrecognized: `~collections.abc.Callable`, optional
- A callback that takes a single argument of arbitrary type and returns either a - str- appended to- strings- or a- tupleof (- str,- Any) to be appended to- items. This will be called on objects of unrecognized type. Exceptions will be reraised as- TypeError(and chained).
- coerceItemValue: `~collections.abc.Callable`, optional
- If provided, - expressionmay be a mapping from- strto any type that can be passed to this function; the result of that call will be stored instead as the value in- self.items.
- defaultItemValue: `Any`, optional
- If provided, combine this value with any string values encountered (including any returned by - coerceUnrecognized) to form a- tupleand add it to- items, guaranteeing that- stringswill be empty. Patterns are never added to- items.
 
- Returns:
- categorizedCategorizedWildcardor....
- The struct describing the wildcard. - ...is passed through unchanged.
 
- categorized
- Raises:
- TypeError
- Raised if an unsupported type is found in the expression.