From 92d96f3f36cebd0ffb39e703c08af369e70b78fc Mon Sep 17 00:00:00 2001 From: mathieui Date: Wed, 11 Jan 2012 18:13:32 +0100 Subject: Fix the alias plugin --- plugins/alias.py | 2 +- src/common.py | 11 +++++++---- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/plugins/alias.py b/plugins/alias.py index 2517e2b9..d6a46b6f 100644 --- a/plugins/alias.py +++ b/plugins/alias.py @@ -21,7 +21,7 @@ class Plugin(BasePlugin): if alias in self.core.commands or alias in self.commands: self.core.information('Alias: command already exists', 'Error') return - self.commands[alias] = lambda args: self.get_command(command)(parse(common.shell_split(args), tmp_args)) + self.commands[alias] = lambda arg: self.get_command(command)(parse(arg, tmp_args)) self.add_command(alias, self.commands[alias], 'This command is an alias for /%s %s' %( command, tmp_args)) self.core.information('Alias /%s successfuly created' % alias, 'Info') diff --git a/src/common.py b/src/common.py index 2da7835b..26b5dd0f 100644 --- a/src/common.py +++ b/src/common.py @@ -235,13 +235,16 @@ def parse_secs_to_str(duration=0): result += '%ss' % secs if secs else '' return result -def parse_command_args_to_alias(args, strto): +def parse_command_args_to_alias(arg, strto): """ Parse command parameters. Numbers can be from 0 to 9. - >>> parse_command_args_to_alias(['sdf', 'koin'], '%0 %1') - "sdf koin" + >>> parse_command_args_to_alias('sdf koin', '%1 %0') + "koin sdf" """ + if '%' not in strto: + return strto + arg + args = shell_split(arg) l = len(args) dest = '' var_num = False @@ -250,7 +253,7 @@ def parse_command_args_to_alias(args, strto): if not var_num: dest += i elif i in string.digits: - if int(i) < l: + if 0 <= int(i) < l: dest += args[int(i)] var_num = False elif i == '%': -- cgit v1.2.3