summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrian Waldon <bcwaldon@gmail.com>2012-07-13 17:54:32 -0700
committerBrian Waldon <bcwaldon@gmail.com>2012-07-13 17:54:32 -0700
commit0e64e19d22d5972001c593e516eaf460b8a94866 (patch)
treea68ef9f929fb4d24e33e14759b83e54b3a1a68e5
parent02833d7c24e9f26d982e2412bbee33aa55b423f1 (diff)
downloadwarlock-0e64e19d22d5972001c593e516eaf460b8a94866.tar.gz
Add iteritems method to model
-rw-r--r--test/test_core.py7
-rw-r--r--warlock/core.py3
2 files changed, 10 insertions, 0 deletions
diff --git a/test/test_core.py b/test/test_core.py
index 3610619..c7f0636 100644
--- a/test/test_core.py
+++ b/test/test_core.py
@@ -54,3 +54,10 @@ class TestCore(unittest.TestCase):
sweden.abbreviation = 'SE'
exc = warlock.InvalidOperation
self.assertRaises(exc, setattr, sweden, 'abbreviation', 0)
+
+ def test_iteritems(self):
+ Country = warlock.model_factory(fixture)
+ sweden = Country(name='Sweden', population=9379116)
+ print sweden.iteritems()
+ self.assertEqual(set(list(sweden.iteritems())),
+ set([('name', 'Sweden'), ('population', 9379116)]))
diff --git a/warlock/core.py b/warlock/core.py
index 205c221..ee1d622 100644
--- a/warlock/core.py
+++ b/warlock/core.py
@@ -53,5 +53,8 @@ def model_factory(schema):
raise InvalidOperation()
self.__dict__['raw'] = mutation
+ def iteritems(self):
+ return copy.deepcopy(self.__dict__['raw']).iteritems()
+
Model.__name__ = str(schema['name'])
return Model