From 3755b51430f5532e2cf3934f027537b832c07b2a Mon Sep 17 00:00:00 2001 From: mathieui Date: Fri, 18 Jan 2013 23:08:40 +0100 Subject: Use the new command scheme in plugins too (while staying backwards-compatible) --- src/plugin.py | 10 ++++++---- src/plugin_manager.py | 11 ++++++----- 2 files changed, 12 insertions(+), 9 deletions(-) (limited to 'src') diff --git a/src/plugin.py b/src/plugin.py index bd5c88be..537f7b61 100644 --- a/src/plugin.py +++ b/src/plugin.py @@ -113,12 +113,13 @@ class BasePlugin(object, metaclass=SafetyMetaclass): def unload(self): self.cleanup() - def add_command(self, name, handler, help, completion=None): + def add_command(self, name, handler, help, completion=None, short='', usage=''): """ Add a global command. You cannot overwrite the existing commands. """ - return self.plugin_manager.add_command(self.__module__, name, handler, help, completion) + return self.plugin_manager.add_command(self.__module__, name, handler, help, + completion=completion, short=short, usage=usage) def del_command(self, name): """ @@ -151,11 +152,12 @@ class BasePlugin(object, metaclass=SafetyMetaclass): """ return self.plugin_manager.del_tab_key(self.__module__, tab_type, key) - def add_tab_command(self, tab_type, name, handler, help, completion=None): + def add_tab_command(self, tab_type, name, handler, help, completion=None, short='', usage=''): """ Add a command only for a type of tab. """ - return self.plugin_manager.add_tab_command(self.__module__, tab_type, name, handler, help, completion) + return self.plugin_manager.add_tab_command(self.__module__, tab_type, name, handler, help, + completion=completion, short=short, usage=usage) def del_tab_command(self, tab_type, name): """ diff --git a/src/plugin_manager.py b/src/plugin_manager.py index a1782e1b..5f848ec2 100644 --- a/src/plugin_manager.py +++ b/src/plugin_manager.py @@ -12,6 +12,7 @@ import sys import logging from gettext import gettext as _ +import core import tabs from config import config @@ -126,7 +127,7 @@ class PluginManager(object): log.debug("Could not unload plugin: \n%s", traceback.format_exc()) self.core.information("Could not unload plugin: %s" % e, 'Error') - def add_command(self, module_name, name, handler, help, completion=None): + def add_command(self, module_name, name, handler, help, completion=None, short='', usage=''): """ Add a global command. """ @@ -134,8 +135,8 @@ class PluginManager(object): raise Exception(_("Command '%s' already exists") % (name,)) commands = self.commands[module_name] - commands[name] = (handler, help, completion) - self.core.commands[name] = (handler, help, completion) + commands[name] = core.Command(handler, help, completion, short, usage) + self.core.commands[name] = commands[name] def del_command(self, module_name, name): """ @@ -146,7 +147,7 @@ class PluginManager(object): if name in self.core.commands: del self.core.commands[name] - def add_tab_command(self, module_name, tab_type, name, handler, help, completion=None): + def add_tab_command(self, module_name, tab_type, name, handler, help, completion=None, short='', usage=''): """ Add a command only for a type of Tab. """ @@ -157,7 +158,7 @@ class PluginManager(object): if not t in commands: commands[t] = [] commands[t].append((name, handler, help, completion)) - tab_type.plugin_commands[name] = (handler, help, completion) + tab_type.plugin_commands[name] = core.Command(handler, help, completion, short, usage) for tab in self.core.tabs: if isinstance(tab, tab_type): tab.update_commands() -- cgit v1.2.3