StorageClassFactory¶
-
class
lsst.daf.butler.StorageClassFactory¶ Bases:
objectFactory for
StorageClassinstances.This class is a singleton, with each instance sharing the pool of StorageClasses. Since code can not know whether it is the first time the instance has been created, the constructor takes no arguments. To populate the factory with storage classes, a call to
addFromConfig()should be made.- Parameters
- config
StorageClassConfigorstr, optional Load configuration. In a ButlerConfig` the relevant configuration is located in the
storageClassessection.
- config
Methods Summary
addFromConfig(config)Add more
StorageClassdefinitions from a config file.getStorageClass(storageClassName)Get a StorageClass instance associated with the supplied name.
makeNewStorageClass(name[, baseClass])Create a new Python class as a subclass of
StorageClass.registerStorageClass(storageClass)Store the
StorageClassin the factory.Methods Documentation
-
addFromConfig(config: Union[lsst.daf.butler.StorageClassConfig,lsst.daf.butler.Config, str]) → None¶ Add more
StorageClassdefinitions from a config file.- Parameters
- config
StorageClassConfig,Configorstr Storage class configuration. Can contain a
storageClasseskey if part of a global configuration.
- config
-
getStorageClass(storageClassName: str) →lsst.daf.butler.StorageClass¶ Get a StorageClass instance associated with the supplied name.
- Parameters
- storageClassName
str Name of the storage class to retrieve.
- storageClassName
- Returns
- instance
StorageClass Instance of the correct
StorageClass.
- instance
- Raises
- KeyError
The requested storage class name is not registered.
-
static
makeNewStorageClass(name: str, baseClass: Optional[Type[lsst.daf.butler.core.storageClass.StorageClass]] = <class 'lsst.daf.butler.core.storageClass.StorageClass'>, **kwargs: Any) → Type[lsst.daf.butler.StorageClass]¶ Create a new Python class as a subclass of
StorageClass.- Parameters
- name
str Name to use for this class.
- baseClass
type, optional Base class for this
StorageClass. Must be eitherStorageClassor a subclass ofStorageClass. IfNone,StorageClasswill be used.
- name
- Returns
- newtype
typesubclass ofStorageClass Newly created Python type.
- newtype
-
registerStorageClass(storageClass:lsst.daf.butler.StorageClass) → None¶ Store the
StorageClassin the factory.Will be indexed by
StorageClass.nameand will return instances of the suppliedStorageClass.- Parameters
- storageClass
StorageClass Type of the Python
StorageClassto register.
- storageClass
- Raises
- ValueError
If a storage class has already been registered with storageClassName and the previous definition differs.