From e1c091a4e31b346bbe9b2bffc33ccf4e82ef1beb Mon Sep 17 00:00:00 2001 From: Anthony Sottile Date: Thu, 15 Jan 2015 09:44:48 -0800 Subject: [PATCH] Use the CLoader when present to validate yaml --- pre_commit_hooks/check_yaml.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/pre_commit_hooks/check_yaml.py b/pre_commit_hooks/check_yaml.py index 0085807..293352f 100644 --- a/pre_commit_hooks/check_yaml.py +++ b/pre_commit_hooks/check_yaml.py @@ -6,6 +6,12 @@ import sys import yaml +try: + from yaml.cyaml import CLoader as Loader +except ImportError: # pragma: no cover (no libyaml-dev / pypy) + Loader = yaml.Loader + + def check_yaml(argv=None): parser = argparse.ArgumentParser() parser.add_argument('filenames', nargs='*', help='Yaml filenames to check.') @@ -14,7 +20,7 @@ def check_yaml(argv=None): retval = 0 for filename in args.filenames: try: - yaml.load(open(filename)) + yaml.load(open(filename), Loader=Loader) except yaml.YAMLError as exc: print(exc) retval = 1