summaryrefslogtreecommitdiffstats
path: root/docs/validate_manual_schema.py
blob: 4414979df05b0c214cfa7086065f08906d2823e6 (plain)
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)