Dirty Loader package¶
Loaders¶
-
class
dirty_loader.Loader(modules=None, factories=None)[source]¶ Bases:
objectLoader 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.LoaderLoaderReversed 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.LoaderLoaderCached 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.LoaderReversedAlready 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.LoaderLoaderNamespace 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.LoaderNamespaceLoaderNamespaceReversed 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.LoaderNamespaceLoaderNamespace 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.LoaderNamespaceReversedLoaderNamespaceReversed 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:
objectBase class factory. It should be used in order to implement specific ones.
-
class
dirty_loader.factories.LoggerFactory(loader, klass)[source]¶ Bases:
dirty_loader.factories.BaseLoggingFactoryLogger factory.