parent
b132484633
commit
528cc826ce
2 changed files with 10 additions and 4 deletions
|
|
@ -171,7 +171,7 @@ class Weboob(object):
|
||||||
backend_instance = module.create_instance(self, module_name, params or {}, storage)
|
backend_instance = module.create_instance(self, module_name, params or {}, storage)
|
||||||
return backend_instance
|
return backend_instance
|
||||||
|
|
||||||
def load_backends(self, caps=None, names=None, modules=None, storage=None, errors=None):
|
def load_backends(self, caps=None, names=None, modules=None, exclude=None, storage=None, errors=None):
|
||||||
"""
|
"""
|
||||||
Load backends listed in config file.
|
Load backends listed in config file.
|
||||||
|
|
||||||
|
|
@ -181,6 +181,8 @@ class Weboob(object):
|
||||||
:type names: tuple[:class:`str`]
|
:type names: tuple[:class:`str`]
|
||||||
:param modules: load backends which module is in list
|
:param modules: load backends which module is in list
|
||||||
:type modules: tuple[:class:`str`]
|
:type modules: tuple[:class:`str`]
|
||||||
|
:param exclude: do not load modules in list
|
||||||
|
:type exclude: tuple[:class:`str`]
|
||||||
:param storage: use this storage if specified
|
:param storage: use this storage if specified
|
||||||
:type storage: :class:`weboob.tools.storage.IStorage`
|
:type storage: :class:`weboob.tools.storage.IStorage`
|
||||||
:param errors: if specified, store every errors in this list
|
:param errors: if specified, store every errors in this list
|
||||||
|
|
@ -195,7 +197,8 @@ class Weboob(object):
|
||||||
for instance_name, module_name, params in self.backends_config.iter_backends():
|
for instance_name, module_name, params in self.backends_config.iter_backends():
|
||||||
if '_enabled' in params and not params['_enabled'].lower() in ('1', 'y', 'true', 'on', 'yes') or \
|
if '_enabled' in params and not params['_enabled'].lower() in ('1', 'y', 'true', 'on', 'yes') or \
|
||||||
names is not None and instance_name not in names or \
|
names is not None and instance_name not in names or \
|
||||||
modules is not None and module_name not in modules:
|
modules is not None and module_name not in modules or \
|
||||||
|
exclude is not None and module_name in exclude:
|
||||||
continue
|
continue
|
||||||
|
|
||||||
minfo = self.repositories.get_module_info(module_name)
|
minfo = self.repositories.get_module_info(module_name)
|
||||||
|
|
|
||||||
|
|
@ -145,6 +145,7 @@ class BaseApplication(object):
|
||||||
if len(app_options.option_list) > 0:
|
if len(app_options.option_list) > 0:
|
||||||
self._parser.add_option_group(app_options)
|
self._parser.add_option_group(app_options)
|
||||||
self._parser.add_option('-b', '--backends', help='what backend(s) to enable (comma separated)')
|
self._parser.add_option('-b', '--backends', help='what backend(s) to enable (comma separated)')
|
||||||
|
self._parser.add_option('-e', '--exclude-backends', help='what backend(s) to exclude (comma separated)')
|
||||||
logging_options = OptionGroup(self._parser, 'Logging Options')
|
logging_options = OptionGroup(self._parser, 'Logging Options')
|
||||||
logging_options.add_option('-d', '--debug', action='store_true', help='display debug messages')
|
logging_options.add_option('-d', '--debug', action='store_true', help='display debug messages')
|
||||||
logging_options.add_option('-q', '--quiet', action='store_true', help='display only error messages')
|
logging_options.add_option('-q', '--quiet', action='store_true', help='display only error messages')
|
||||||
|
|
@ -214,10 +215,12 @@ class BaseApplication(object):
|
||||||
"""
|
"""
|
||||||
raise NotImplementedError()
|
raise NotImplementedError()
|
||||||
|
|
||||||
def load_backends(self, caps=None, names=None, *args, **kwargs):
|
def load_backends(self, caps=None, names=None, exclude=None, *args, **kwargs):
|
||||||
if names is None and self.options.backends:
|
if names is None and self.options.backends:
|
||||||
names = self.options.backends.split(',')
|
names = self.options.backends.split(',')
|
||||||
loaded = self.weboob.load_backends(caps, names, *args, **kwargs)
|
if exclude is None and self.options.exclude_backends:
|
||||||
|
exclude = self.options.exclude_backends.split(',')
|
||||||
|
loaded = self.weboob.load_backends(caps, names, exclude=exclude, *args, **kwargs)
|
||||||
if not loaded:
|
if not loaded:
|
||||||
logging.info(u'No backend loaded')
|
logging.info(u'No backend loaded')
|
||||||
return loaded
|
return loaded
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue