File: validate_manual_schema.py

package info (click to toggle)
jq 1.8.1-3
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 5,844 kB
  • sloc: ansic: 28,064; yacc: 888; sh: 841; python: 316; cpp: 314; lex: 192; makefile: 181; javascript: 34
file content (19 lines) | stat: -rwxr-xr-x 584 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#!/usr/bin/env python3
import jsonschema
import sys
import yaml

if len(sys.argv) < 2:
    sys.exit("Usage: {} MANUAL_FILE ...".format(sys.argv[0]))

with open("manual_schema.yml", "r") as schema_file:
    manual_schema = yaml.safe_load(schema_file)

for path in sys.argv[1:]:
    with open(path, "r") as manual_file:
        manual_data = yaml.safe_load(manual_file)
    try:
        jsonschema.validate(instance=manual_data, schema=manual_schema)
    except jsonschema.exceptions.ValidationError as e:
        print("Failed to validate:", path, file=sys.stderr)
        sys.exit(e)