FormatterFactory¶
-
class
lsst.daf.butler.
FormatterFactory
¶ Bases:
object
Factory for
Formatter
instances.Methods Summary
getFormatter
(entity, …)Get a new formatter instance. getFormatterClass
(entity, …)Get the matching formatter class. getFormatterClassWithMatch
(entity, …)Get the matching formatter class along with the matching registry key. getFormatterWithMatch
(entity, …)Get a new formatter instance along with the matching registry key. getLookupKeys
()Retrieve the look up keys for all the registry entries. registerFormatter
(type_, str, …)Register a Formatter
.registerFormatters
(config, *, universe)Bulk register formatters from a config. Methods Documentation
-
getFormatter
(entity: Union[lsst.daf.butler.core.datasets.type.DatasetType, lsst.daf.butler.core.datasets.ref.DatasetRef, lsst.daf.butler.core.storageClass.StorageClass, str], *args, **kwargs) → lsst.daf.butler.core.formatter.Formatter¶ Get a new formatter instance.
Parameters: - entity :
DatasetRef
,DatasetType
,StorageClass
, orstr
Entity to use to determine the formatter to return.
StorageClass
will be used as a last resort ifDatasetRef
orDatasetType
instance is provided. Supports instrument override if aDatasetRef
is provided configured with aninstrument
value for the data ID.- args :
tuple
Positional arguments to use pass to the object constructor.
- kwargs :
dict
Keyword arguments to pass to object constructor.
Returns: - formatter :
Formatter
An instance of the registered formatter.
- entity :
-
getFormatterClass
(entity: Union[lsst.daf.butler.core.datasets.type.DatasetType, lsst.daf.butler.core.datasets.ref.DatasetRef, lsst.daf.butler.core.storageClass.StorageClass, str]) → Type[CT_co]¶ Get the matching formatter class.
Parameters: - entity :
DatasetRef
,DatasetType
,StorageClass
, orstr
Entity to use to determine the formatter to return.
StorageClass
will be used as a last resort ifDatasetRef
orDatasetType
instance is provided. Supports instrument override if aDatasetRef
is provided configured with aninstrument
value for the data ID.
Returns: - formatter :
type
The class of the registered formatter.
- entity :
-
getFormatterClassWithMatch
(entity: Union[lsst.daf.butler.core.datasets.type.DatasetType, lsst.daf.butler.core.datasets.ref.DatasetRef, lsst.daf.butler.core.storageClass.StorageClass, str]) → Tuple[lsst.daf.butler.core.configSupport.LookupKey, Type[CT_co]]¶ Get the matching formatter class along with the matching registry key.
Parameters: - entity :
DatasetRef
,DatasetType
,StorageClass
, orstr
Entity to use to determine the formatter to return.
StorageClass
will be used as a last resort ifDatasetRef
orDatasetType
instance is provided. Supports instrument override if aDatasetRef
is provided configured with aninstrument
value for the data ID.
Returns: - entity :
-
getFormatterWithMatch
(entity: Union[lsst.daf.butler.core.datasets.type.DatasetType, lsst.daf.butler.core.datasets.ref.DatasetRef, lsst.daf.butler.core.storageClass.StorageClass, str], *args, **kwargs) → Tuple[lsst.daf.butler.core.configSupport.LookupKey, lsst.daf.butler.core.formatter.Formatter]¶ Get a new formatter instance along with the matching registry key.
Parameters: - entity :
DatasetRef
,DatasetType
,StorageClass
, orstr
Entity to use to determine the formatter to return.
StorageClass
will be used as a last resort ifDatasetRef
orDatasetType
instance is provided. Supports instrument override if aDatasetRef
is provided configured with aninstrument
value for the data ID.- args :
tuple
Positional arguments to use pass to the object constructor.
- kwargs :
dict
Keyword arguments to pass to object constructor.
Returns: - entity :
-
getLookupKeys
() → Set[lsst.daf.butler.core.configSupport.LookupKey]¶ Retrieve the look up keys for all the registry entries.
Returns:
-
registerFormatter
(type_: Union[lsst.daf.butler.core.configSupport.LookupKey, str, lsst.daf.butler.core.storageClass.StorageClass, lsst.daf.butler.core.datasets.type.DatasetType], formatter: str, overwrite: bool = False) → None¶ Register a
Formatter
.Parameters: - type_ :
LookupKey
,str
,StorageClass
orDatasetType
Type for which this formatter is to be used. If a
LookupKey
is not provided, one will be constructed from the supplied string or by using thename
property of the supplied entity.- formatter :
str
or class of typeFormatter
Identifies a
Formatter
subclass to use for reading and writing Datasets of this type. Can be aFormatter
class.- overwrite :
bool
, optional If
True
an existing entry will be replaced by the new value. Default isFalse
.
Raises: - ValueError
Raised if the formatter does not name a valid formatter type and
overwrite
isFalse
.
- type_ :
-
registerFormatters
(config: lsst.daf.butler.core.config.Config, *, universe: lsst.daf.butler.core.dimensions.universe.DimensionUniverse) → None¶ Bulk register formatters from a config.
Parameters: - config :
Config
formatters
section of a configuration.- universe :
DimensionUniverse
, optional Set of all known dimensions, used to expand and validate any used in lookup keys.
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 aDatasetRef
contains a matching instrument name in the data ID.The config is parsed using the function
processLookupConfigs
.- config :
-