woob.tools.backend
¶
- class BackendStorage(name, storage)[source]¶
Bases:
object
This is an abstract layer to store data in storages (
woob.tools.storage
) easily.It is instancied automatically in constructor of
Module
, in theModule.storage
attribute.- Parameters
name – name of backend
storage (
woob.tools.storage.IStorage
) – storage object
- set(*args)[source]¶
Set value in the storage.
Example:
>>> from woob.tools.storage import StandardStorage >>> backend = BackendStorage('blah', StandardStorage('/tmp/cfg')) >>> backend.storage.set('config', 'nb_of_threads', 10) >>>
- Parameters
args – the path where to store value
- get(*args, **kwargs)[source]¶
Get a value or a dict of values in storage.
Example:
>>> from woob.tools.storage import StandardStorage >>> backend = BackendStorage('blah', StandardStorage('/tmp/cfg')) >>> backend.storage.get('config', 'nb_of_threads') 10 >>> backend.storage.get('config', 'unexistant', 'path', default='lol') 'lol' >>> backend.storage.get('config') {'nb_of_threads': 10, 'other_things': 'blah'}
- Parameters
args – path to get
default – if specified, default value when path is not found
- class BackendConfig(*values)[source]¶
Bases:
ValuesDict
Configuration of a backend.
This class is firstly instanced as a
woob.tools.value.ValuesDict
, containing somewoob.tools.value.Value
(and derivated) objects.Then, using the
load()
method will load configuration from file and create a copy of theBackendConfig
object with the loaded values.- modname = None¶
- instname = None¶
- woob = None¶
- load(woob, modname, instname, config, nofail=False)[source]¶
Load configuration from dict to create an instance.
- Parameters
woob (
woob.core.woob.Woob
) – woob objectmodname (
str
) – name of the moduleinstname (
str
) – name of this backendparams (
dict
) – parameters to loadnofail (
bool
) – if true, this call can’t fail
- Return type
- class Module(*args, **kwargs)[source]¶
Bases:
object
Base class for modules.
You may derivate it, and also all capabilities you want to implement.
- Parameters
woob (
woob.core.woob.Woob
) – woob instancename (
str
) – name of backendconfig (
dict
) – configuration of backendstorage (
woob.tools.storage.IStorage
) – storage objectlogger (
logging.Logger
) – logger
- NAME = None¶
Name of the maintainer of this module.
- MAINTAINER = '<unspecified>'¶
- EMAIL = '<unspecified>'¶
Email address of the maintainer.
- VERSION = '<unspecified>'¶
Version of module (for information only).
- DESCRIPTION = '<unspecified>'¶
Description
- LICENSE = '<unspecified>'¶
- CONFIG = {}¶
Configuration required for backends.
Values must be woob.tools.value.Value objects.
- STORAGE = {}¶
Storage
- BROWSER = None¶
Browser class
- ICON = None¶
URL to an optional icon.
If you want to create your own icon, create a ‘favicon.png’ icon in the module’s directory, and keep the ICON value to None.
- OBJECTS = {}¶
Supported objects to fill
The key is the class and the value the method to call to fill Method prototype: method(object, fields) When the method is called, fields are only the one which are NOT yet filled.
- DEPENDENCIES = ()¶
Tuple of module names on which this module depends.
- exception ConfigError(message, bad_fields=None)[source]¶
Bases:
Exception
Raised when the config can’t be loaded.
- property weboob¶
Deprecated since version 3.4: Don’t use this attribute, but
woob
instead.
- property browser¶
Attribute ‘browser’. The browser is created at the first call of this attribute, to avoid useless pages access.
Note that the
create_default_browser()
method is called to create it.
- create_default_browser()[source]¶
Method to overload to build the default browser in attribute ‘browser’.
- create_browser(*args, **kwargs)[source]¶
Build a browser from the BROWSER class attribute and the given arguments.
- Parameters
klass (
woob.browser.browsers.Browser
) – optional parameter to give another browser class to instanciate