Cleanup YAML parse error warning code a tiny amount.

pull/2037/head
Michael DeHaan 12 years ago
parent 5c38248788
commit c692de6b80

@ -236,15 +236,7 @@ def parse_yaml(data):
''' convert a yaml string to a data structure ''' ''' convert a yaml string to a data structure '''
return yaml.load(data) return yaml.load(data)
def parse_yaml_from_file(path): def process_yaml_error(exc, data, path=None):
''' convert a yaml file to a data structure '''
try:
data = file(path).read()
return parse_yaml(data)
except IOError:
raise errors.AnsibleError("file not found: %s" % path)
except yaml.YAMLError, exc:
if hasattr(exc, 'problem_mark'): if hasattr(exc, 'problem_mark'):
mark = exc.problem_mark mark = exc.problem_mark
if mark.line -1 >= 0: if mark.line -1 >= 0:
@ -262,9 +254,24 @@ Note: The error may actually appear before this position: line %s, column %s
else: else:
# No problem markers means we have to throw a generic # No problem markers means we have to throw a generic
# "stuff messed up" type message. Sry bud. # "stuff messed up" type message. Sry bud.
if path:
msg = "Could not parse YAML. Check over %s again." % path msg = "Could not parse YAML. Check over %s again." % path
else:
msg = "Could not parse YAML."
raise errors.AnsibleYAMLValidationFailed(msg) raise errors.AnsibleYAMLValidationFailed(msg)
def parse_yaml_from_file(path):
''' convert a yaml file to a data structure '''
try:
data = file(path).read()
return parse_yaml(data)
except IOError:
raise errors.AnsibleError("file not found: %s" % path)
except yaml.YAMLError, exc:
process_yaml_error(exc, data, path)
def parse_kv(args): def parse_kv(args):
''' convert a string of key/value items to a dict ''' ''' convert a string of key/value items to a dict '''

Loading…
Cancel
Save