FileTemplates¶
-
class
lsst.daf.butler.FileTemplates(config: Union[FileTemplatesConfig, str], default: Optional[str] = None, *, universe: DimensionUniverse)¶ Bases:
objectCollection of
FileTemplatetemplates.- Parameters
- config
FileTemplatesConfigorstr Load configuration.
- default
str, optional If not
None, a default template to use if no template has been specified explicitly in the configuration.- universe
DimensionUniverse The set of all known dimensions, used to normalize any lookup keys involving dimensions.
- config
Notes
The configuration can include one level of hierarchy where an instrument-specific section can be defined to override more general template specifications. This is represented in YAML using a key of form
instrument<name>which can then define templates that will be returned if aDatasetRefcontains a matching instrument name in the data ID.A default fallback template can be specified using the key
default. Defaulting can be disabled in a child configuration by defining the value to be an empty string or a booleanFalse.The config is parsed using the function
processLookupConfigs.Attributes Summary
Configuration key associated with the default template.
Return collection of templates indexed by lookup key (
dict).Methods Summary
Retrieve the look up keys for all the template entries.
getTemplate(entity)Retrieve the
FileTemplateassociated with the dataset type.getTemplateWithMatch(entity)Retrieve the
FileTemplateassociated with the dataset type.validateTemplates(entities[, logFailures])Validate the templates.
Attributes Documentation
-
defaultKey= LookupKey(name='default',)¶ Configuration key associated with the default template.
Methods Documentation
-
getLookupKeys() → Set[lsst.daf.butler.LookupKey]¶ Retrieve the look up keys for all the template entries.
-
getTemplate(entity: Union[DatasetType, DatasetRef, StorageClass]) → FileTemplate¶ Retrieve the
FileTemplateassociated with the dataset type.If the lookup name corresponds to a component the base name for the component will be examined if the full component name does not match.
- Parameters
- entity
DatasetType,DatasetRef, orStorageClass Instance to use to look for a corresponding template. A
DatasetTypename or aStorageClassname will be used depending on the supplied entity. Priority is given to aDatasetTypename. Supports instrument override if aDatasetRefis provided configured with aninstrumentvalue for the data ID.
- entity
- Returns
- template
FileTemplate Template instance to use with that dataset type.
- template
- Raises
- KeyError
Raised if no template could be located for this Dataset type.
-
getTemplateWithMatch(entity: Union[DatasetRef, DatasetType, StorageClass]) → Tuple[LookupKey, FileTemplate]¶ Retrieve the
FileTemplateassociated with the dataset type.Also retrieves the lookup key that was a match for this template.
If the lookup name corresponds to a component the base name for the component will be examined if the full component name does not match.
- Parameters
- entity
DatasetType,DatasetRef, orStorageClass Instance to use to look for a corresponding template. A
DatasetTypename or aStorageClassname will be used depending on the supplied entity. Priority is given to aDatasetTypename. Supports instrument override if aDatasetRefis provided configured with aninstrumentvalue for the data ID.
- entity
- Returns
- matchKey
LookupKey The key that resulted in the successful match.
- template
FileTemplate Template instance to use with that dataset type.
- matchKey
- Raises
- KeyError
Raised if no template could be located for this Dataset type.
-
validateTemplates(entities: Iterable[Union[DatasetType, DatasetRef, StorageClass]], logFailures: bool = False) → None¶ Validate the templates.
Retrieves the template associated with each dataset type and validates the dimensions against the template.
- Parameters
- entities
DatasetType,DatasetRef, orStorageClass Entities to validate against the matching templates. Can be differing types.
- logFailures
bool, optional If
True, output a log message for every validation error detected.
- entities
- Raises
- FileTemplateValidationError
Raised if an entity failed validation.
Notes
See
FileTemplate.validateTemplate()for details on the validation.