diff options
author | Julian Berman <Julian@GrayVines.com> | 2013-04-10 23:40:56 -0400 |
---|---|---|
committer | Julian Berman <Julian@GrayVines.com> | 2013-04-11 00:19:52 -0400 |
commit | 638d7b8866d3fbe819ebf8a5673da5cfd2028b5c (patch) | |
tree | d85bed1c2d27c84df08489d5e1839feb256fb71e | |
parent | e49b661c641c52489cf46cbfc099eaea4e19015e (diff) | |
download | jsonschema-638d7b8866d3fbe819ebf8a5673da5cfd2028b5c.tar.gz |
Undeprecate and switch back to validator, to reduce annoyance.
-rw-r--r-- | docs/errors.rst | 2 | ||||
-rw-r--r-- | jsonschema.py | 19 | ||||
-rw-r--r-- | tests.py | 44 |
3 files changed, 28 insertions, 37 deletions
diff --git a/docs/errors.rst b/docs/errors.rst index 1dc70e6..6ec94af 100644 --- a/docs/errors.rst +++ b/docs/errors.rst @@ -15,7 +15,7 @@ raised or returned, depending on which method or function is used. A human readable message explaining the error. - .. attribute:: validator_keyword + .. attribute:: validator The failed validator. diff --git a/jsonschema.py b/jsonschema.py index e8e6563..d69c8b1 100644 --- a/jsonschema.py +++ b/jsonschema.py @@ -21,7 +21,6 @@ import operator import re import socket import sys -import warnings try: from collections import MutableMapping @@ -77,7 +76,7 @@ class _Error(Exception): self.schema_path = collections.deque(schema_path) self.context = list(context) self.cause = cause - self.validator_keyword = validator + self.validator = validator self.validator_value = validator_value self.instance = instance self.schema = schema @@ -90,20 +89,12 @@ class _Error(Exception): context=other.context, path=other.path, schema_path=other.schema_path, - validator=other.validator_keyword, + validator=other.validator, validator_value=other.validator_value, instance=other.instance, schema=other.schema, ) - @property - def validator(self): - warnings.warn( - "'validator' has been replaced with 'validator_keyword'", - DeprecationWarning - ) - return self.validator_keyword - def _set(self, **kwargs): for k, v in iteritems(kwargs): if getattr(self, k) is _unset: @@ -269,7 +260,7 @@ class ValidatorMixin(object): for error in errors: # set details if they weren't already set by the called fn error._set( - validator_keyword=k, + validator=k, validator_value=v, instance=instance, schema=_schema, @@ -513,7 +504,7 @@ class Draft3Validator(ValidatorMixin, _Draft34CommonMixin, object): elif subschema.get("required", False): error = ValidationError("%r is a required property" % property) error._set( - validator_keyword="required", + validator="required", validator_value=subschema["required"], instance=instance, schema=schema, @@ -1224,7 +1215,7 @@ class ErrorTree(object): container = self for element in error.path: container = container[element] - container.errors[error.validator_keyword] = error + container.errors[error.validator] = error def __contains__(self, k): return k in self._contents @@ -374,7 +374,7 @@ class TestValidationErrorDetails(unittest.TestCase): self.assertEqual(len(errors), 1) e = errors[0] - self.assertEqual(e.validator_keyword, "anyOf") + self.assertEqual(e.validator, "anyOf") self.assertEqual(list(e.schema_path), ["anyOf"]) self.assertEqual(e.validator_value, schema["anyOf"]) self.assertEqual(e.instance, instance) @@ -384,7 +384,7 @@ class TestValidationErrorDetails(unittest.TestCase): e1, e2 = sorted_errors(e.context) - self.assertEqual(e1.validator_keyword, "minimum") + self.assertEqual(e1.validator, "minimum") self.assertEqual(list(e1.schema_path), [0, "minimum"]) self.assertEqual(e1.validator_value, schema["anyOf"][0]["minimum"]) self.assertEqual(e1.instance, instance) @@ -392,7 +392,7 @@ class TestValidationErrorDetails(unittest.TestCase): self.assertEqual(list(e1.path), []) self.assertEqual(len(e1.context), 0) - self.assertEqual(e2.validator_keyword, "type") + self.assertEqual(e2.validator, "type") self.assertEqual(list(e2.schema_path), [1, "type"]) self.assertEqual(e2.validator_value, schema["anyOf"][1]["type"]) self.assertEqual(e2.instance, instance) @@ -418,7 +418,7 @@ class TestValidationErrorDetails(unittest.TestCase): self.assertEqual(len(errors), 1) e = errors[0] - self.assertEqual(e.validator_keyword, "type") + self.assertEqual(e.validator, "type") self.assertEqual(list(e.schema_path), ["type"]) self.assertEqual(e.validator_value, schema["type"]) self.assertEqual(e.instance, instance) @@ -428,7 +428,7 @@ class TestValidationErrorDetails(unittest.TestCase): e1, e2 = sorted_errors(e.context) - self.assertEqual(e1.validator_keyword, "type") + self.assertEqual(e1.validator, "type") self.assertEqual(list(e1.schema_path), [0, "type"]) self.assertEqual(e1.validator_value, schema["type"][0]["type"]) self.assertEqual(e1.instance, instance) @@ -436,7 +436,7 @@ class TestValidationErrorDetails(unittest.TestCase): self.assertEqual(list(e1.path), []) self.assertEqual(len(e1.context), 0) - self.assertEqual(e2.validator_keyword, "enum") + self.assertEqual(e2.validator, "enum") self.assertEqual( list(e2.schema_path), [1, "properties", "foo", "enum"] @@ -468,10 +468,10 @@ class TestValidationErrorDetails(unittest.TestCase): self.assertEqual(list(e3.path), ["baz"]) self.assertEqual(list(e4.path), ["foo"]) - self.assertEqual(e1.validator_keyword, "minItems") - self.assertEqual(e2.validator_keyword, "enum") - self.assertEqual(e3.validator_keyword, "maximum") - self.assertEqual(e4.validator_keyword, "type") + self.assertEqual(e1.validator, "minItems") + self.assertEqual(e2.validator, "enum") + self.assertEqual(e3.validator, "maximum") + self.assertEqual(e4.validator, "type") def test_multiple_nesting(self): instance = [1, {"foo" : 2, "bar" : {"baz" : [1]}}, "quux"] @@ -502,12 +502,12 @@ class TestValidationErrorDetails(unittest.TestCase): self.assertEqual(list(e5.path), [1, "bar", "baz"]) self.assertEqual(list(e6.path), [1, "foo"]) - self.assertEqual(e1.validator_keyword, "type") - self.assertEqual(e2.validator_keyword, "type") - self.assertEqual(e3.validator_keyword, "type") - self.assertEqual(e4.validator_keyword, "required") - self.assertEqual(e5.validator_keyword, "minItems") - self.assertEqual(e6.validator_keyword, "enum") + self.assertEqual(e1.validator, "type") + self.assertEqual(e2.validator, "type") + self.assertEqual(e3.validator, "type") + self.assertEqual(e4.validator, "required") + self.assertEqual(e5.validator, "minItems") + self.assertEqual(e6.validator, "enum") def test_additionalProperties(self): instance = {"bar": "bar", "foo": 2} @@ -521,8 +521,8 @@ class TestValidationErrorDetails(unittest.TestCase): self.assertEqual(list(e1.path), ["bar"]) self.assertEqual(list(e2.path), ["foo"]) - self.assertEqual(e1.validator_keyword, "type") - self.assertEqual(e2.validator_keyword, "minimum") + self.assertEqual(e1.validator, "type") + self.assertEqual(e2.validator, "minimum") def test_patternProperties(self): instance = {"bar": 1, "foo": 2} @@ -539,8 +539,8 @@ class TestValidationErrorDetails(unittest.TestCase): self.assertEqual(list(e1.path), ["bar"]) self.assertEqual(list(e2.path), ["foo"]) - self.assertEqual(e1.validator_keyword, "type") - self.assertEqual(e2.validator_keyword, "minimum") + self.assertEqual(e1.validator, "type") + self.assertEqual(e2.validator, "minimum") def test_additionalItems(self): instance = ["foo", 1] @@ -555,8 +555,8 @@ class TestValidationErrorDetails(unittest.TestCase): self.assertEqual(list(e1.path), [0]) self.assertEqual(list(e2.path), [1]) - self.assertEqual(e1.validator_keyword, "type") - self.assertEqual(e2.validator_keyword, "minimum") + self.assertEqual(e1.validator, "type") + self.assertEqual(e2.validator, "minimum") class TestErrorTree(unittest.TestCase): |