Use the CLoader when present to validate yaml
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 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 @@
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