diff options
author | Brian Waldon <bcwaldon@gmail.com> | 2012-07-13 17:54:32 -0700 |
---|---|---|
committer | Brian Waldon <bcwaldon@gmail.com> | 2012-07-13 17:54:32 -0700 |
commit | 0e64e19d22d5972001c593e516eaf460b8a94866 (patch) | |
tree | a68ef9f929fb4d24e33e14759b83e54b3a1a68e5 | |
parent | 02833d7c24e9f26d982e2412bbee33aa55b423f1 (diff) | |
download | warlock-0e64e19d22d5972001c593e516eaf460b8a94866.tar.gz |
Add iteritems method to model
-rw-r--r-- | test/test_core.py | 7 | ||||
-rw-r--r-- | warlock/core.py | 3 |
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 |