summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJulian Berman <Julian+git@GrayVines.com>2012-04-20 18:38:10 -0400
committerJulian Berman <Julian+git@GrayVines.com>2012-04-20 18:38:10 -0400
commit1532b6ba22b2e219a264a573857bb9b206be9a54 (patch)
tree97b0d629232a88d1e624a777a4bb609a7f8aff42
parent5510597e44b7a4758972fa7ebec1055db8880b1d (diff)
downloadjsonschema-1532b6ba22b2e219a264a573857bb9b206be9a54.tar.gz
Minor formatting and cleanup.
-rw-r--r--jsonschema.py18
-rw-r--r--tests.py20
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):
"""
diff --git a/tests.py b/tests.py
index db88132..b668af3 100644
--- a/tests.py
+++ b/tests.py
@@ -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",