summaryrefslogtreecommitdiff
path: root/lib/ansible/utils/__init__.py
diff options
context:
space:
mode:
authorBrian Coca <bcoca@ansible.com>2015-02-11 13:31:25 -0500
committerBrian Coca <bcoca@ansible.com>2015-02-11 13:31:25 -0500
commitc966eb5d8016d9d14845c41b51ebbde929c03490 (patch)
treea5251c61db01f64a2f6d13a3b8bbe7a0699f4e02 /lib/ansible/utils/__init__.py
parent4b0cc9152dbafdc6e95926b80845127bd6b232c3 (diff)
parentc09d27bca10e0a90a4aad1f31a7e406d656a1311 (diff)
downloadansible-c966eb5d8016d9d14845c41b51ebbde929c03490.tar.gz
Merge pull request #10015 from bcoca/nicer_json_errors
handle json load errors as ansible error instead of ugly stacktrace
Diffstat (limited to 'lib/ansible/utils/__init__.py')
-rw-r--r--lib/ansible/utils/__init__.py6
1 files changed, 5 insertions, 1 deletions
diff --git a/lib/ansible/utils/__init__.py b/lib/ansible/utils/__init__.py
index 8e3edf4f4f..5eb3817625 100644
--- a/lib/ansible/utils/__init__.py
+++ b/lib/ansible/utils/__init__.py
@@ -447,8 +447,12 @@ def role_yaml_parse(role):
def json_loads(data):
''' parse a JSON string and return a data structure '''
+ try:
+ loaded = json.loads(data)
+ except ValueError,e:
+ raise errors.AnsibleError("Unable to read provided data as JSON: %s" % str(e))
- return json.loads(data)
+ return loaded
def _clean_data(orig_data, from_remote=False, from_inventory=False):
''' remove jinja2 template tags from a string '''