cloudmonkey: Fix cloudmonkey command line arg cleaning
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
diff --git a/cloudmonkey/cloudmonkey.py b/cloudmonkey/cloudmonkey.py
index 32f0d79..e3790d3 100644
--- a/cloudmonkey/cloudmonkey.py
+++ b/cloudmonkey/cloudmonkey.py
@@ -759,9 +759,21 @@
if len(args.commands) > 0:
shell.set_attr("color", "false")
- shell.onecmd(" ".join(map(lambda x: x.replace("\\ ", " ")
- .replace(" ", "\\ "),
- args.commands)))
+ commands = []
+ for command in args.commands:
+ split_command = command.split("=")
+ if len(split_command) > 1:
+ key = split_command[0]
+ value = split_command[1]
+ if " " not in value or \
+ (value.startswith("\"") and value.endswith("\"")) or \
+ (value.startswith("\'") and value.endswith("\'")):
+ commands.append(command)
+ else:
+ commands.append("%s=\"%s\"" % (key, value))
+ else:
+ commands.append(command)
+ shell.onecmd(" ".join(commands))
if shell.error_on_last_command:
sys.exit(1)
else: