shell quoting fixes
(edited author's original commit comment -- MPD)
This commit is contained in:
parent
99d5796605
commit
ec6f488d1f
2 changed files with 11 additions and 4 deletions
|
@ -293,7 +293,7 @@ class PlayBook(object):
|
|||
async_seconds = int(task.get('async', 0)) # not async by default
|
||||
async_poll_interval = int(task.get('poll', 10)) # default poll = 10 seconds
|
||||
|
||||
tokens = shlex.split(action)
|
||||
tokens = shlex.split(action, posix=False)
|
||||
module_name = tokens[0]
|
||||
module_args = tokens[1:]
|
||||
|
||||
|
|
|
@ -260,12 +260,19 @@ def parse_yaml_from_file(path):
|
|||
raise errors.AnsibleError("file not found: %s" % path)
|
||||
return parse_yaml(data)
|
||||
|
||||
def parse_kv(args):
|
||||
def unquote_string(string):
|
||||
''' remove single or double quotes from beginning/end of string'''
|
||||
if (string.startswith('"') and string.endswith('"')) or \
|
||||
(string.startswith("'") and string.endswith("'")):
|
||||
return string[1:-1]
|
||||
else:
|
||||
return string
|
||||
|
||||
def parse_kv(args, unquote=True):
|
||||
''' convert a string of key/value items to a dict '''
|
||||
options = {}
|
||||
for x in args:
|
||||
if x.find("=") != -1:
|
||||
k, v = x.split("=")
|
||||
options[k]=v
|
||||
options[k]=unquote_string(v) if unquote else v
|
||||
return options
|
||||
|
||||
|
|
Loading…
Reference in a new issue