Files
cdba/validate.py
Neil Armstrong 5e6a988a94 Add yaml schema and validator
Closes: #41

Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
2023-11-02 11:09:32 +01:00

24 lines
600 B
Python

import os
import sys
import argparse
import json
import jsonschema
import ruamel.yaml
if __name__ == "__main__":
ap = argparse.ArgumentParser()
ap.add_argument("cfg", help="Filename YAML input file")
ap.add_argument('-s', '--schema', help="schema file")
args = ap.parse_args()
yaml = ruamel.yaml.YAML(typ='safe')
yaml.allow_duplicate_keys = False
with open(args.schema, 'r', encoding='utf-8') as f:
schema = yaml.load(f.read())
with open(args.cfg, 'r', encoding='utf-8') as f:
cfg = yaml.load(f.read())
jsonschema.validate(cfg, schema=schema)