diff options
author | itchyny <itchyny@cybozu.co.jp> | 2023-07-22 15:21:59 +0900 |
---|---|---|
committer | Nico Williams <nico@cryptonector.com> | 2023-07-22 19:00:16 -0500 |
commit | 9044f540bbf4959fc3720c352742f2800411946e (patch) | |
tree | 433542ee02fa08473a7b9641493b97b08bb76f2f /docs/validate_manual_schema.py | |
parent | c9c45d7f0329c89c88823e1c24c96a96d8436205 (diff) |
Validate manual schema
Diffstat (limited to 'docs/validate_manual_schema.py')
-rwxr-xr-x | docs/validate_manual_schema.py | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/docs/validate_manual_schema.py b/docs/validate_manual_schema.py new file mode 100755 index 00000000..4414979d --- /dev/null +++ b/docs/validate_manual_schema.py @@ -0,0 +1,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) |