diff options
| author | Yuval Adam <_@yuv.al> | 2022-10-31 14:22:20 +0200 |
|---|---|---|
| committer | Yuval Adam <_@yuv.al> | 2022-10-31 14:22:20 +0200 |
| commit | 6c0e6971dbee2c2800357594f6fa109f38b986ef (patch) | |
| tree | facb7af9f0cfe4ecfade04d3c65c2bbf06edfa9f | |
| parent | 880d8417743861351c9b7622cfc4e4a3e19bd1d7 (diff) | |
Add invalid fields validation in build script
| -rw-r--r-- | build.py | 7 |
1 files changed, 6 insertions, 1 deletions
@@ -12,6 +12,7 @@ BUILD_DIR = ROOT_PATH / "build" STATIC_DIR = ROOT_PATH / "static" REQUIRED_FIELDS = set(["domain", "name"]) +OPTIONAL_FIELDS = set(["url", "title", "email"]) TEMPLATES = ["index.html"] @@ -26,9 +27,13 @@ names = [] for name in listdir(NAMES_DIR): with open(NAMES_DIR / name, "r") as f: fields = yaml.load(f.read(), Loader=yaml.Loader) - missing_fields = REQUIRED_FIELDS - set(fields.keys()) + field_set = set(fields.keys()) + missing_fields = REQUIRED_FIELDS - field_set if missing_fields: raise Exception(f"Missing required fields {missing_fields} in {name}") + invalid_fields = field_set - OPTIONAL_FIELDS - REQUIRED_FIELDS + if invalid_fields: + raise Exception(f"Invalid fields {invalid_fields} in {name}") names.append(fields) names = list(sorted(names, key=lambda x: x["domain"])) |
