diff options
author | Jan Pokorný <jpokorny@redhat.com> | 2014-09-04 22:28:52 +0200 |
---|---|---|
committer | Jan Pokorný <jpokorny@redhat.com> | 2014-09-04 22:28:52 +0200 |
commit | 749603e2faa6f44c26883cac83c41faad6b81fd4 (patch) | |
tree | 30ced06bd655ebf8fc09ac32a26bf1c4ca4aa1bb /command_manager.py | |
parent | c584b8dfa318fc409660b974671162a5af1f49ca (diff) | |
download | clufter-749603e2faa6f44c26883cac83c41faad6b81fd4.tar.gz clufter-749603e2faa6f44c26883cac83c41faad6b81fd4.tar.xz clufter-749603e2faa6f44c26883cac83c41faad6b81fd4.zip |
Solve a "read-only dict as API" question once forever
Signed-off-by: Jan Pokorný <jpokorny@redhat.com>
Diffstat (limited to 'command_manager.py')
-rw-r--r-- | command_manager.py | 14 |
1 files changed, 4 insertions, 10 deletions
diff --git a/command_manager.py b/command_manager.py index 2de9f1a..0de06a2 100644 --- a/command_manager.py +++ b/command_manager.py @@ -35,10 +35,7 @@ class CommandManager(PluginManager): def _init_handle_plugins(self, commands, flt_mgr, *args): log.debug("Commands before resolving: {0}".format(commands)) - self._commands = self._resolve(flt_mgr.filters, commands, *args) - - def __iter__(self): - return self._commands.itervalues() + return self._resolve(flt_mgr.filters, commands, *args) @classmethod def implicit(cls, *args): @@ -92,10 +89,7 @@ class CommandManager(PluginManager): @property def commands(self): - return self._commands.copy() - - def completion(self, completion): - return completion(self._commands.iteritems()) + return self._plugins def __call__(self, parser, args=None): """Follow up of the entry point, facade to particular commands""" @@ -106,7 +100,7 @@ class CommandManager(PluginManager): or args[0] while isinstance(command, basestring): canonical_cmd = command - command = self._commands.get(command, None) + command = self._plugins.get(command, None) if not command: raise CommandNotFoundError(cmd) @@ -152,7 +146,7 @@ class CommandManager(PluginManager): max(tuple(len(name) for name, _ in cat)) if cat else 0) for i, cat in enumerate( bifilter(lambda (name, obj): not isinstance(obj, basestring), - self._commands.iteritems()) + self._plugins.iteritems()) ) ] width = max(i[1] for i in cmds_aliases) + linesep_width |