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.
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
defaultKeyConfiguration key associated with the default template. templatesCollection of templates indexed by lookup key ( dict).Methods Summary
getLookupKeys()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.
Returns:
-
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.
Returns: - template :
FileTemplate Template instance to use with that dataset type.
Raises: - KeyError
Raised if no template could be located for this Dataset type.
- entity :
-
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.
Returns: - matchKey :
LookupKey The key that resulted in the successful match.
- template :
FileTemplate Template instance to use with that dataset type.
Raises: - KeyError
Raised if no template could be located for this Dataset type.
- entity :
-
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.
Raises: - FileTemplateValidationError
Raised if an entity failed validation.
Notes
See
FileTemplate.validateTemplate()for details on the validation.- entities :
- config :