diff --git a/altair/utils/schemapi.py b/altair/utils/schemapi.py index c09144ddc..b94017c94 100644 --- a/altair/utils/schemapi.py +++ b/altair/utils/schemapi.py @@ -62,9 +62,10 @@ def validate_jsonschema(spec, schema, rootschema=None): # No resolver is necessary if the schema is already the full schema resolver = None - validator = validator_cls( - schema, format_checker=validator_cls.FORMAT_CHECKER, resolver=resolver - ) + validator_kwargs = {"resolver": resolver} + if hasattr(validator_cls, "FORMAT_CHECKER"): + validator_kwargs["format_checker"] = validator_cls.FORMAT_CHECKER + validator = validator_cls(schema, **validator_kwargs) error = jsonschema.exceptions.best_match(validator.iter_errors(spec)) if error is not None: raise error diff --git a/tools/schemapi/schemapi.py b/tools/schemapi/schemapi.py index 70aed2224..73e530fc8 100644 --- a/tools/schemapi/schemapi.py +++ b/tools/schemapi/schemapi.py @@ -60,9 +60,10 @@ def validate_jsonschema(spec, schema, rootschema=None): # No resolver is necessary if the schema is already the full schema resolver = None - validator = validator_cls( - schema, format_checker=validator_cls.FORMAT_CHECKER, resolver=resolver - ) + validator_kwargs = {"resolver": resolver} + if hasattr(validator_cls, "FORMAT_CHECKER"): + validator_kwargs["format_checker"] = validator_cls.FORMAT_CHECKER + validator = validator_cls(schema, **validator_kwargs) error = jsonschema.exceptions.best_match(validator.iter_errors(spec)) if error is not None: raise error