Fix some templating issues, needs testing with anti-unicode safeguard around shlex.split

pull/781/head
Michael DeHaan 12 years ago
parent bd7de28a64
commit b76efa39be

@ -83,7 +83,7 @@ class Task(object):
import_tags = import_tags.split(",")
self.name = utils.template(self.name, self.module_vars)
self.action = utils.template(self.name, self.module_vars)
self.action = utils.template(self.action, self.module_vars)
# handle mutually incompatible options
if self.with_items is not None and self.first_available_file is not None:

@ -548,6 +548,7 @@ class Runner(object):
for (k,v) in self.module_args.iteritems():
new_args = new_args + "%s='%s' " % (k,v)
self.module_args = new_args
self.module_args = utils.template(self.module_args, inject)
conditional = utils.template(self.conditional, inject)
if not eval(conditional):
@ -586,7 +587,6 @@ class Runner(object):
changed = False
if result.result.get('changed',False) or result2.result.get('changed',False):
changed = True
# print "DEBUG=%s" % changed
result2.result.update(result.result)
result2.result['changed'] = changed
result = result2

@ -238,10 +238,11 @@ def parse_kv(args):
options = {}
if args is not None:
vargs = shlex.split(args, posix=True)
# attempting to split a unicode here does bad things
vargs = shlex.split(str(args), posix=True)
for x in vargs:
if x.find("=") != -1:
k, v = x.split("=", 1)
k, v = x.split("=",1)
options[k]=v
return options

Loading…
Cancel
Save