Add python3 support

Signed-off-by: Chuck Short <chuck.short@canonical.com>
This commit is contained in:
Chuck Short 2013-07-10 10:47:58 -04:00 committed by Brian Waldon
parent 460080eb27
commit 1a0de8a67d
5 changed files with 13 additions and 9 deletions

View File

@ -1,2 +1,3 @@
jsonschema>=0.7,<3
jsonpatch>=0.10,<2
six

View File

@ -15,6 +15,8 @@
import copy
import unittest
import six
import warlock
@ -44,7 +46,7 @@ class TestCore(unittest.TestCase):
def test_class_name_from_unicode_schema_name(self):
fixture_copy = copy.deepcopy(fixture)
fixture_copy['name'] = unicode(fixture_copy['name'])
fixture_copy['name'] = six.text_type(fixture_copy['name'])
# Can't set class.__name__ to a unicode object, ensure warlock
# does some magic to make it possible
warlock.model_factory(fixture_copy)
@ -81,7 +83,7 @@ class TestCore(unittest.TestCase):
def test_items(self):
Country = warlock.model_factory(fixture)
sweden = Country(name='Sweden', population=9379116)
self.assertEqual(set(list(sweden.iteritems())),
self.assertEqual(set(list(six.iteritems(sweden))),
set([('name', 'Sweden'), ('population', 9379116)]))
self.assertEqual(set(sweden.items()),
set([('name', 'Sweden'), ('population', 9379116)]))
@ -104,7 +106,7 @@ class TestCore(unittest.TestCase):
mike_1['sub']['foo'] = 'james'
self.assertEquals(mike.sub['foo'], 'mike')
mike_2 = dict(mike.iteritems())
mike_2 = dict(six.iteritems(mike))
mike_2['sub']['foo'] = 'james'
self.assertEquals(mike.sub['foo'], 'mike')
@ -112,7 +114,7 @@ class TestCore(unittest.TestCase):
mike_2['sub']['foo'] = 'james'
self.assertEquals(mike.sub['foo'], 'mike')
mike_3_sub = list(mike.itervalues())[0]
mike_3_sub = list(six.itervalues(mike))[0]
mike_3_sub['foo'] = 'james'
self.assertEquals(mike.sub['foo'], 'mike')

View File

@ -1,5 +1,5 @@
[tox]
envlist = py26,py27,pep8
envlist = py26,py27,py33,pep8
[testenv]
deps=pytest

View File

@ -16,7 +16,7 @@
import copy
import model
from . import model
def model_factory(schema, base_class=model.Model):

View File

@ -19,8 +19,9 @@ import warnings
import jsonpatch
import jsonschema
import six
import exceptions
from . import exceptions
class Model(dict):
@ -98,13 +99,13 @@ class Model(dict):
dict.update(self, other)
def iteritems(self):
return copy.deepcopy(dict(self)).iteritems()
return six.iteritems(copy.deepcopy(dict(self)))
def items(self):
return copy.deepcopy(dict(self)).items()
def itervalues(self):
return copy.deepcopy(dict(self)).itervalues()
return six.itervalues(copy.deepcopy(dict(self)))
def values(self):
return copy.deepcopy(dict(self)).values()