summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormathieui <mathieui@mathieui.net>2012-01-11 18:13:32 +0100
committerFlorent Le Coz <louiz@louiz.org>2012-01-26 10:05:36 +0100
commit88f7e690bda7e53e41b9cfaac2027c76fc774727 (patch)
tree52fc0fa95548a223c99c631842b30e2566bc2047
parent08bf7647439793b7c87c521efe0a462be85cbbcc (diff)
downloadpoezio-88f7e690bda7e53e41b9cfaac2027c76fc774727.tar.gz
poezio-88f7e690bda7e53e41b9cfaac2027c76fc774727.tar.bz2
poezio-88f7e690bda7e53e41b9cfaac2027c76fc774727.tar.xz
poezio-88f7e690bda7e53e41b9cfaac2027c76fc774727.zip
Fix the alias plugin
-rw-r--r--plugins/alias.py2
-rw-r--r--src/common.py11
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 == '%':