Explorar el Código

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 hace 3 años
padre
commit
717cfd2d37
Se han modificado 1 ficheros con 4 adiciones y 1 borrados
  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: