Parcourir la source

validate: add support for both jsonschema v3 and old v2

RHEL8 and RHEL7 have old jsonschema v2. Try v3 (Draft7) first but
fallback to v2 (Draft4) if needed.
Kim B. Heino il y a 3 ans
Parent
commit
717cfd2d37
1 fichiers modifiés avec 4 ajouts et 1 suppressions
  1. 4 1
      borgmatic/config/validate.py

+ 4 - 1
borgmatic/config/validate.py

@@ -110,7 +110,10 @@ def parse_configuration(config_filename, schema_filename, overrides=None):
     override.apply_overrides(config, overrides)
     normalize.normalize(config)
 
-    validator = jsonschema.Draft7Validator(schema)
+    try:
+        validator = jsonschema.Draft7Validator(schema)
+    except AttributeError:
+        validator = jsonschema.Draft4Validator(schema)
     validation_errors = tuple(validator.iter_errors(config))
 
     if validation_errors: