Simplify the way the debug: var=varname plugin works.

This commit is contained in:
Michael DeHaan 2013-10-31 19:35:50 -04:00
parent a078184ae8
commit bbf212a268
2 changed files with 4 additions and 6 deletions

View file

@ -49,9 +49,11 @@ class ActionModule(object):
else:
result = dict(msg=args['msg'])
elif 'var' in args:
results = utils.safe_eval(args['var'], inject, include_exceptions=True, template_call=True)
results = utils.safe_eval(args['var'], inject, include_exceptions=True)
intermediate = results[0]
exception = results[1]
print exception
if exception is not None:
intermediate = "failed to evaluate: %s" % str(exception)
result[args['var']] = intermediate

View file

@ -899,7 +899,7 @@ def is_list_of_strings(items):
return False
return True
def safe_eval(str, locals=None, include_exceptions=False, template_call=False):
def safe_eval(str, locals=None, include_exceptions=False):
'''
this is intended for allowing things like:
with_items: a_list_variable
@ -909,10 +909,6 @@ def safe_eval(str, locals=None, include_exceptions=False, template_call=False):
'''
# FIXME: is there a more native way to do this?
if template_call:
# for the debug module in Ansible, allow debug of the form foo.bar.baz versus Python dictionary form
str = template.template(None, "{{ %s }}" % str, locals)
def is_set(var):
return not var.startswith("$") and not '{{' in var