diff options
author | Julian Berman <Julian+git@GrayVines.com> | 2012-04-20 18:38:10 -0400 |
---|---|---|
committer | Julian Berman <Julian+git@GrayVines.com> | 2012-04-20 18:38:10 -0400 |
commit | 1532b6ba22b2e219a264a573857bb9b206be9a54 (patch) | |
tree | 97b0d629232a88d1e624a777a4bb609a7f8aff42 | |
parent | 5510597e44b7a4758972fa7ebec1055db8880b1d (diff) | |
download | jsonschema-1532b6ba22b2e219a264a573857bb9b206be9a54.tar.gz |
Minor formatting and cleanup.
-rw-r--r-- | jsonschema.py | 18 | ||||
-rw-r--r-- | tests.py | 20 |
2 files changed, 19 insertions, 19 deletions
diff --git a/jsonschema.py b/jsonschema.py index bb82fa9..d54f45a 100644 --- a/jsonschema.py +++ b/jsonschema.py @@ -13,23 +13,21 @@ under the JSON Schema specification. See its docstring for details. from __future__ import division, with_statement, unicode_literals import itertools +import operator import re import sys import warnings -# For Python 3 -try: - unicode -except NameError: - basestring = unicode = str -if sys.version_info[0] >= 3: - def iteritems(d): - return d.items() +PY3 = sys.version_info[0] >= 3 + +if PY3: + basestring = unicode = str + iteritems = operator.methodcaller("items") else: - def iteritems(d): - return d.iteritems() from itertools import izip as zip + iteritems = operator.methodcaller("iteritems") + def _uniq(container): """ @@ -10,11 +10,10 @@ else: import unittest -from jsonschema import SchemaError, ValidationError, validate, iteritems -# For Python 3 -try: - unicode -except NameError: +from jsonschema import PY3, SchemaError, ValidationError, iteritems, validate + + +if PY3: basestring = unicode = str @@ -40,21 +39,24 @@ class ParametrizedTestCase(type): names.append(parametrized_name) fn_name = "_".join(names) - if sys.version_info[0] < 3: + if not PY3: fn_name = fn_name.encode('utf8') fn.__name__ = fn_name attr[fn.__name__] = fn else: attr[k] = v - if sys.version_info[0] < 3: + if not PY3: name = name.encode('utf8') + return super(ParametrizedTestCase, cls).__new__(cls, name, bases, attr) + # Inscrutable way to create metaclasses in a Python 2/3 compatible way # See: http://mikewatkins.ca/2008/11/29/python-2-and-3-metaclasses/ ParameterizedTestCase = ParametrizedTestCase( - 'ParameterizedTestCase', (object,), {}) + 'ParameterizedTestCase', (object,), {} +) def parametrized(*runs): @@ -561,7 +563,7 @@ class TestValidate(ParameterizedTestCase, unittest.TestCase): with self.assertRaises(ValidationError) as e: validate(instance, schema, stop_on_error=False) - if sys.version_info[0] >= 3: + if PY3: self.assertEqual(sorted(e.exception.errors), sorted([ "'array' is disallowed for [1, 2]", "[1, 2] is too short", |