FileTemplates¶
-
class
lsst.daf.butler.FileTemplates(config, default=None, *, universe)¶ 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.
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 along with the lookup key that was a match for this template.validateTemplates(entities[, logFailures])Retrieve the template associated with each dataset type and validate the dimensions against the template.
Attributes Documentation
-
defaultKey= LookupKey(name='default',)¶ Configuration key associated with the default template.
Methods Documentation
-
getLookupKeys()¶ Retrieve the look up keys for all the template entries.
-
getTemplate(entity)¶ 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)¶ Retrieve the
FileTemplateassociated with the dataset type along with 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, logFailures=False)¶ Retrieve the template associated with each dataset type and validate 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.