| from __future__ import print_function |
| from yaml.cyaml import CSafeLoader as Loader |
| except ImportError: # pragma: no cover (no libyaml-dev / pypy) |
| def _load_all(*args, **kwargs): |
| # need to exhaust the generator |
| return tuple(yaml.load_all(*args, **kwargs)) |
| def check_yaml(argv=None): |
| parser = argparse.ArgumentParser() |
| '-m', '--allow-multiple-documents', dest='yaml_load_fn', |
| action='store_const', const=_load_all, default=yaml.load, |
| parser.add_argument('filenames', nargs='*', help='Yaml filenames to check.') |
| args = parser.parse_args(argv) |
| for filename in args.filenames: |
| args.yaml_load_fn(open(filename), Loader=Loader) |
| except yaml.YAMLError as exc: |
| if __name__ == '__main__': |