diff options
author | Jan Pokorný <jpokorny@redhat.com> | 2014-09-05 21:49:05 +0200 |
---|---|---|
committer | Jan Pokorný <jpokorny@redhat.com> | 2014-09-05 21:49:05 +0200 |
commit | e4a10a0b632acacd10f438f8e5a99bd2acb2c1f0 (patch) | |
tree | 001f0ea303a525812ed2c48f560aba1cc0c60f0a /plugin_registry.py | |
parent | 0e9fa915bc52ca29e3493bf3c1e17b6a434dbe2c (diff) | |
download | clufter-e4a10a0b632acacd10f438f8e5a99bd2acb2c1f0.tar.gz clufter-e4a10a0b632acacd10f438f8e5a99bd2acb2c1f0.tar.xz clufter-e4a10a0b632acacd10f438f8e5a99bd2acb2c1f0.zip |
Make CLI interface work again after bfbb5c8(?)
Signed-off-by: Jan Pokorný <jpokorny@redhat.com>
Diffstat (limited to 'plugin_registry.py')
-rw-r--r-- | plugin_registry.py | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/plugin_registry.py b/plugin_registry.py index 286665a..e52be01 100644 --- a/plugin_registry.py +++ b/plugin_registry.py @@ -18,6 +18,7 @@ from .utils import args2tuple, \ args2sgpl, \ classproperty, \ filterdict_keep, \ + filterdict_pop, \ hybridproperty, \ tuplist from .utils_prog import ProtectedDict, cli_decor @@ -243,24 +244,25 @@ class PluginManager(object): ret[plugin] = registry.plugins[plugin] except KeyError: to_discover.add(plugin) + kwargs = filterdict_keep(kwargs, 'paths') ret.update(registry.discover(fname_start=tuple(to_discover), **kwargs)) return ret # if tuplist(plugins) else ret[plugins] @classmethod def init_lookup(cls, plugin=(), *plugins, **kwargs): plugins = args2tuple(*args2sgpl(plugin)) + plugins - return cls(plugins=cls.lookup(plugins, **kwargs), path=None, **kwargs) + filterdict_pop(kwargs, 'paths') + return cls(plugins=cls.lookup(plugins, **kwargs), paths=None, **kwargs) def __init__(self, *args, **kwargs): registry = kwargs.pop('registry', None) or self._default_registry assert (registry is not PluginRegistry, "PluginManager subclass should refer to its custom registry") self._registry = registry - discover_kwargs = filterdict_keep(kwargs, 'paths') - plugins = registry.discover(**discover_kwargs) + plugins = registry.discover(**filterdict_pop(kwargs, 'paths')) plugins.update(kwargs.pop('plugins', {})) self._plugins = ProtectedDict( - self._init_plugins(plugins, *args, **discover_kwargs), + self._init_plugins(plugins, *args, **kwargs), ) @classmethod |