From 3fddd78ec5431a21b4f7e8f49f17b0b365d61e0f Mon Sep 17 00:00:00 2001 From: James Cammarata Date: Mon, 27 Jan 2014 11:28:07 -0600 Subject: [PATCH] Fixing traceback caused by incorrect argument passing to json.dumps Fixes #5756 --- lib/ansible/runner/filter_plugins/core.py | 10 +++++++--- lib/ansible/utils/template.py | 2 ++ 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/lib/ansible/runner/filter_plugins/core.py b/lib/ansible/runner/filter_plugins/core.py index 1cd53bbaa3..623e770dea 100644 --- a/lib/ansible/runner/filter_plugins/core.py +++ b/lib/ansible/runner/filter_plugins/core.py @@ -30,9 +30,13 @@ def to_nice_yaml(*a, **kw): '''Make verbose, human readable yaml''' return yaml.safe_dump(*a, indent=4, allow_unicode=True, default_flow_style=False, **kw) -def to_nice_json(*a, **kw): +def to_json(a, *args, **kw): + ''' Convert the value to JSON ''' + return json.dumps(a, *args, **kw) + +def to_nice_json(a, *args, **kw): '''Make verbose, human readable JSON''' - return json.dumps(*a, indent=4, sort_keys=True, **kw) + return json.dumps(a, indent=4, sort_keys=True, *args, **kw) def failed(*a, **kw): ''' Test if task result yields failed ''' @@ -148,7 +152,7 @@ class FilterModule(object): 'b64encode': base64.b64encode, # json - 'to_json': json.dumps, + 'to_json': to_json, 'to_nice_json': to_nice_json, 'from_json': json.loads, diff --git a/lib/ansible/utils/template.py b/lib/ansible/utils/template.py index 2491035c59..5b61bc125f 100644 --- a/lib/ansible/utils/template.py +++ b/lib/ansible/utils/template.py @@ -547,6 +547,8 @@ def template_from_string(basedir, data, vars, fail_on_undefined=False): except TypeError, te: if 'StrictUndefined' in str(te): raise errors.AnsibleUndefinedVariable("unable to look up a name or access an attribute in template string") + else: + raise errors.AnsibleError("an unexpected type error occured. Error was %s" % te) return res except (jinja2.exceptions.UndefinedError, errors.AnsibleUndefinedVariable): if fail_on_undefined: