Commit 92d96f3f authored by mathieui's avatar mathieui

Fix the alias plugin

parent b2d050a6
......@@ -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')
......
......@@ -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 == '%':
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment