From da0b82da8f8bc020ee89ce825e94c1ab8e5cc4b5 Mon Sep 17 00:00:00 2001 From: Julian Berman Date: Fri, 28 Sep 2012 14:39:09 -0400 Subject: [PATCH] Deprecate meta_validate too. --- jsonschema.py | 8 ++++++++ perftest | 2 +- tests.py | 8 ++++++++ 3 files changed, 17 insertions(+), 1 deletion(-) diff --git a/jsonschema.py b/jsonschema.py index 6221b22..8c72749 100644 --- a/jsonschema.py +++ b/jsonschema.py @@ -684,5 +684,13 @@ def validate(instance, schema, cls=Draft3Validator, *args, **kwargs): """ + meta_validate = kwargs.pop("meta_validate", None) + if meta_validate is not None: + warnings.warn( + "meta_validate is deprecated and will be removed. If you want to " + "validate a schema, use Draft3Validator.check_schema instead.", + DeprecationWarning, stacklevel=2, + ) + validator = cls(schema, *args, **kwargs) validator.validate(instance) diff --git a/perftest b/perftest index f5d7ba7..2a2640c 100755 --- a/perftest +++ b/perftest @@ -19,7 +19,7 @@ instance = schema = Draft3Validator.META_SCHEMA results = timeit.timeit( # Validate the Draft 3 meta-schema against itself without meta-validating - stmt="validate(instance, schema, meta_validate=False)", + stmt="validate(instance, schema)", setup="from __main__ import instance, schema, validate", number=arguments.number, ) diff --git a/tests.py b/tests.py index 314feda..f62c719 100644 --- a/tests.py +++ b/tests.py @@ -908,6 +908,14 @@ class TestValidator(TestCase): self.assertEqual(len(w), 1) +class TestValidateFunction(TestCase): + def test_meta_validate_deprecated(self): + with warnings.catch_warnings(record=True) as w: + warnings.simplefilter("always") + validate("foo", {}, meta_validate=False) + self.assertEqual(len(w), 1) + + class TestValidatorIterErrors(TestIterErrors): def setUp(self): self.validator = Validator()