load now does not modify the incomming data

also removed json loader as yaml loader can do both
This commit is contained in:
Brian Coca 2016-01-28 19:43:17 -05:00
parent 4b1d621442
commit db375c22af

View file

@ -20,7 +20,6 @@ from __future__ import (absolute_import, division, print_function)
__metaclass__ = type
import copy
import json
import os
import stat
import subprocess
@ -74,23 +73,17 @@ class DataLoader():
a JSON or YAML string.
'''
try:
# we first try to load this data as JSON
return json.loads(data)
except:
# if loading JSON failed for any reason, we go ahead
# and try to parse it as YAML instead
# YAML parser will take JSON as it is a subset.
if isinstance(data, AnsibleUnicode):
# The PyYAML's libyaml bindings use PyUnicode_CheckExact so
# they are unable to cope with our subclass.
# Unwrap and re-wrap the unicode so we can keep track of line
# numbers
new_data = text_type(data)
in_data = text_type(data)
else:
new_data = data
in_data = data
try:
new_data = self._safe_load(new_data, file_name=file_name)
new_data = self._safe_load(in_data, file_name=file_name)
except YAMLError as yaml_exc:
self._handle_error(yaml_exc, file_name, show_content)