diff options
author | Chuck Short <chuck.short@canonical.com> | 2013-07-10 10:47:58 -0400 |
---|---|---|
committer | Brian Waldon <bcwaldon@gmail.com> | 2013-07-23 07:10:27 -0700 |
commit | 1a0de8a67df8282c42f71014cc871684e8d7c0cf (patch) | |
tree | acfe48131d2a62c10e48da88af90553d76dd7734 | |
parent | 460080eb27fd8598c6b00f0df70e597058152323 (diff) | |
download | warlock-1a0de8a67df8282c42f71014cc871684e8d7c0cf.tar.gz |
Add python3 supportbaserock/morph
Signed-off-by: Chuck Short <chuck.short@canonical.com>
-rw-r--r-- | requirements.txt | 1 | ||||
-rw-r--r-- | test/test_core.py | 10 | ||||
-rw-r--r-- | tox.ini | 2 | ||||
-rw-r--r-- | warlock/core.py | 2 | ||||
-rw-r--r-- | warlock/model.py | 7 |
5 files changed, 13 insertions, 9 deletions
diff --git a/requirements.txt b/requirements.txt index ab39211..e499923 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,2 +1,3 @@ jsonschema>=0.7,<3 jsonpatch>=0.10,<2 +six diff --git a/test/test_core.py b/test/test_core.py index d146b4f..6b3be39 100644 --- a/test/test_core.py +++ b/test/test_core.py @@ -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') @@ -1,5 +1,5 @@ [tox] -envlist = py26,py27,pep8 +envlist = py26,py27,py33,pep8 [testenv] deps=pytest diff --git a/warlock/core.py b/warlock/core.py index 349c681..fa996d2 100644 --- a/warlock/core.py +++ b/warlock/core.py @@ -16,7 +16,7 @@ import copy -import model +from . import model def model_factory(schema, base_class=model.Model): diff --git a/warlock/model.py b/warlock/model.py index 9ce1a01..1bc3f76 100644 --- a/warlock/model.py +++ b/warlock/model.py @@ -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() |