summaryrefslogtreecommitdiffstats
path: root/docs/validate_manual_schema.py
diff options
context:
space:
mode:
authoritchyny <itchyny@cybozu.co.jp>2023-07-22 15:21:59 +0900
committerNico Williams <nico@cryptonector.com>2023-07-22 19:00:16 -0500
commit9044f540bbf4959fc3720c352742f2800411946e (patch)
tree433542ee02fa08473a7b9641493b97b08bb76f2f /docs/validate_manual_schema.py
parentc9c45d7f0329c89c88823e1c24c96a96d8436205 (diff)
Validate manual schema
Diffstat (limited to 'docs/validate_manual_schema.py')
-rwxr-xr-xdocs/validate_manual_schema.py19
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)