Dirty Loader package¶
Loaders¶
-
class
dirty_loader.
Loader
(modules=None, factories=None)[source]¶ Bases:
object
Loader is a class loader. You must register python modules where to look for classes. First modules registered has preference in front last ones, but you could indicate index where you want insert new module.
-
register_module
(module, idx=-1)[source]¶ Register a module. You could indicate position inside inner list.
Parameters:
-
unregister_module
(module)[source]¶ Unregister a module.
Parameters: module (str) – must be a string or a module object to unregistered
-
get_registered_modules
()[source]¶ Return registered modules.
Returns: list of registered modules. Return type: list
-
load_class
(classname)[source]¶ Loads a class looking for it in each module registered.
Parameters: classname (str) – Class name you want to load. Returns: Class object Return type: type
-
-
class
dirty_loader.
LoaderReversed
(modules=None, factories=None)[source]¶ Bases:
dirty_loader.ReversedMixin
,dirty_loader.Loader
LoaderReversed is a class loader. You must register python modules where to look for classes. Last modules registered has preference in front first ones, but you could indicate index where you want insert new module.
-
factory
(classname, *args, **kwargs)¶ Creates an instance of class looking for it in each module registered. You can add needed params to instance the class.
Parameters: classname (str) – Class name you want to create an instance. Returns: An instance of classname Return type: object
-
get_factory_by_class
(klass)¶ Returns a custom factory for class. By default it will return the class itself.
Parameters: klass (type) – Class type Returns: Class factory Return type: callable
-
get_registered_modules
()¶ Return registered modules.
Returns: list of registered modules. Return type: list
-
load_class
(classname)¶ Loads a class looking for it in each module registered.
Parameters: classname (str) – Class name you want to load. Returns: Class object Return type: type
-
register_module
(module, idx=-1)¶ Register a module. You could indicate position inside inner list.
Parameters:
-
-
class
dirty_loader.
LoaderCached
(*args, **kwargs)[source]¶ Bases:
dirty_loader.CacheLoaderMixin
,dirty_loader.Loader
LoaderCached is a class loader. You must register python modules where to look for classes. First modules registered has preference in front last ones, but you could indicate index where you want insert new module.
Already looked up classes are cached.
-
factory
(classname, *args, **kwargs)¶ Creates an instance of class looking for it in each module registered. You can add needed params to instance the class.
Parameters: classname (str) – Class name you want to create an instance. Returns: An instance of classname Return type: object
-
get_registered_modules
()¶ Return registered modules.
Returns: list of registered modules. Return type: list
-
invalidate_cache
()¶ Invalidate class cache.
-
invalidate_cache_factories
()¶ Invalidate factories cache.
-
-
class
dirty_loader.
LoaderReversedCached
(*args, **kwargs)[source]¶ Bases:
dirty_loader.CacheLoaderMixin
,dirty_loader.LoaderReversed
Already looked up classes are cached.LoaderReversedCached is a class loader. You must register python modules where to look for classes. Last modules registered has preference in front first ones, but you could indicate index where you want insert new module.
-
factory
(classname, *args, **kwargs)¶ Creates an instance of class looking for it in each module registered. You can add needed params to instance the class.
Parameters: classname (str) – Class name you want to create an instance. Returns: An instance of classname Return type: object
-
get_registered_modules
()¶ Return registered modules.
Returns: list of registered modules. Return type: list
-
invalidate_cache
()¶ Invalidate class cache.
-
invalidate_cache_factories
()¶ Invalidate factories cache.
-
-
class
dirty_loader.
LoaderNamespace
(namespaces=None, factories=None)[source]¶ Bases:
dirty_loader.Loader
LoaderNamespace is a class loader. You must register python modules with a namespace tag where to look for classes. First namespace registered has preference in front last ones.
-
unregister_module
(module)[source]¶ Unregister a module.
Parameters: module (str) – must be a string or a module object to unregistered
-
unregister_namespace
(namespace)[source]¶ Unregister a namespace.
Parameters: namespace (str) – Namespace tag.
-
get_registered_modules
()[source]¶ Return registered modules.
Returns: list of registered modules. Return type: list
-
get_registered_namespaces
()[source]¶ Return registered namespaces.
Returns: Dict with namespaces as key and modules as value. Return type: OrderedDict
-
load_class
(classname, namespace=None)[source]¶ Loads a class looking for it in each module registered. It’s possible to load a class from specific namespace using namespace parameter or using classname as “namespace:classname”.
Parameters: Returns: Class object
Return type:
-
-
class
dirty_loader.
LoaderNamespaceReversed
(namespaces=None, factories=None)[source]¶ Bases:
dirty_loader.ReversedMixin
,dirty_loader.LoaderNamespace
LoaderNamespaceReversed is a class loader. You must register python modules with a namespace tag where to look for classes. Last namespaces registered has preference in front first ones.
-
factory
(classname, *args, **kwargs)¶ Creates an instance of class looking for it in each module registered. You can add needed params to instance the class.
Parameters: classname (str) – Class name you want to create an instance. Returns: An instance of classname Return type: object
-
get_factory_by_class
(klass)¶ Returns a custom factory for class. By default it will return the class itself.
Parameters: klass (type) – Class type Returns: Class factory Return type: callable
-
get_registered_modules
()¶ Return registered modules.
Returns: list of registered modules. Return type: list
-
get_registered_namespaces
()¶ Return registered namespaces.
Returns: Dict with namespaces as key and modules as value. Return type: OrderedDict
-
load_class
(classname, namespace=None)¶ Loads a class looking for it in each module registered. It’s possible to load a class from specific namespace using namespace parameter or using classname as “namespace:classname”.
Parameters: Returns: Class object
Return type:
-
register_module
(module, namespace=None)¶ Register a module.
Parameters:
-
register_namespace
(namespace, module)¶ Register a namespace.
Parameters:
-
-
class
dirty_loader.
LoaderNamespaceCached
(*args, **kwargs)[source]¶ Bases:
dirty_loader.CacheLoaderNamespaceMixin
,dirty_loader.LoaderNamespace
LoaderNamespace is a class loader. You must register python modules with a namespace tag where to look for classes. First namespace registered has preference in front last ones.
Already looked up classes are cached.
-
factory
(classname, *args, **kwargs)¶ Creates an instance of class looking for it in each module registered. You can add needed params to instance the class.
Parameters: classname (str) – Class name you want to create an instance. Returns: An instance of classname Return type: object
-
get_registered_modules
()¶ Return registered modules.
Returns: list of registered modules. Return type: list
-
get_registered_namespaces
()¶ Return registered namespaces.
Returns: Dict with namespaces as key and modules as value. Return type: OrderedDict
-
invalidate_cache
()¶ Invalidate class cache.
-
invalidate_cache_factories
()¶ Invalidate factories cache.
-
-
class
dirty_loader.
LoaderNamespaceReversedCached
(*args, **kwargs)[source]¶ Bases:
dirty_loader.CacheLoaderNamespaceMixin
,dirty_loader.LoaderNamespaceReversed
LoaderNamespaceReversed is a class loader. You must register python modules with a namespace tag where to look for classes. Last namespaces registered has preference in front first ones.
Already looked up classes are cached.
-
factory
(classname, *args, **kwargs)¶ Creates an instance of class looking for it in each module registered. You can add needed params to instance the class.
Parameters: classname (str) – Class name you want to create an instance. Returns: An instance of classname Return type: object
-
get_registered_modules
()¶ Return registered modules.
Returns: list of registered modules. Return type: list
-
get_registered_namespaces
()¶ Return registered namespaces.
Returns: Dict with namespaces as key and modules as value. Return type: OrderedDict
-
invalidate_cache
()¶ Invalidate class cache.
-
invalidate_cache_factories
()¶ Invalidate factories cache.
-
Factories¶
-
class
dirty_loader.factories.
BaseFactory
(loader, klass)[source]¶ Bases:
object
Base class factory. It should be used in order to implement specific ones.
-
class
dirty_loader.factories.
LoggerFactory
(loader, klass)[source]¶ Bases:
dirty_loader.factories.BaseLoggingFactory
Logger factory.