mirror of
https://github.com/ansible-collections/community.general.git
synced 2025-04-24 03:11:24 -07:00
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_seconds = int(task.get('async', 0)) # not async by default
|
||||||
async_poll_interval = int(task.get('poll', 10)) # default poll = 10 seconds
|
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_name = tokens[0]
|
||||||
module_args = tokens[1:]
|
module_args = tokens[1:]
|
||||||
|
|
||||||
|
|
|
@ -260,12 +260,19 @@ def parse_yaml_from_file(path):
|
||||||
raise errors.AnsibleError("file not found: %s" % path)
|
raise errors.AnsibleError("file not found: %s" % path)
|
||||||
return parse_yaml(data)
|
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 '''
|
''' convert a string of key/value items to a dict '''
|
||||||
options = {}
|
options = {}
|
||||||
for x in args:
|
for x in args:
|
||||||
if x.find("=") != -1:
|
if x.find("=") != -1:
|
||||||
k, v = x.split("=")
|
k, v = x.split("=")
|
||||||
options[k]=v
|
options[k]=unquote_string(v) if unquote else v
|
||||||
return options
|
return options
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue