diff options
author | mathieui <mathieui@mathieui.net> | 2012-01-11 18:13:32 +0100 |
---|---|---|
committer | Florent Le Coz <louiz@louiz.org> | 2012-01-26 10:05:36 +0100 |
commit | 88f7e690bda7e53e41b9cfaac2027c76fc774727 (patch) | |
tree | 52fc0fa95548a223c99c631842b30e2566bc2047 | |
parent | 08bf7647439793b7c87c521efe0a462be85cbbcc (diff) | |
download | poezio-88f7e690bda7e53e41b9cfaac2027c76fc774727.tar.gz poezio-88f7e690bda7e53e41b9cfaac2027c76fc774727.tar.bz2 poezio-88f7e690bda7e53e41b9cfaac2027c76fc774727.tar.xz poezio-88f7e690bda7e53e41b9cfaac2027c76fc774727.zip |
Fix the alias plugin
-rw-r--r-- | plugins/alias.py | 2 | ||||
-rw-r--r-- | 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 == '%': |