diff options
author | 2011-11-14 00:29:46 +0100 | |
---|---|---|
committer | 2011-11-14 00:29:46 +0100 | |
commit | 61dabfbe621a5a9a0d098ea4b4001833dd7573e2 (patch) | |
tree | aa9b25dd34674dabaf0a9e717ade84f5e7b129ba | |
parent | Added handler base test (diff) | |
download | python-github3-61dabfbe621a5a9a0d098ea4b4001833dd7573e2.tar.xz python-github3-61dabfbe621a5a9a0d098ea4b4001833dd7573e2.zip |
Fix converter bug
-rw-r--r-- | github3/converters.py | 5 | ||||
-rw-r--r-- | github3/tests/converters_test.py | 6 |
2 files changed, 7 insertions, 4 deletions
diff --git a/github3/converters.py b/github3/converters.py index 1df61a6..05e3435 100644 --- a/github3/converters.py +++ b/github3/converters.py @@ -52,7 +52,8 @@ class Modelizer(Converter): self.model = model def _parse_map(self, model, raw_resource): - return Modelizer(model).loads(raw_resource) + if getattr(raw_resource, 'items', False): + return Modelizer(model).loads(raw_resource) def _parse_collection_map(self, model, raw_resources): # Dict of resources (Ex: Gist file) @@ -62,7 +63,7 @@ class Modelizer(Converter): dict_map[key] = Modelizer(model).loads(raw_resource) return dict_map # list of resources - else: + elif getattr(raw_resources, '__iter__', False): return [Modelizer(model).loads(raw_resource) for raw_resource in raw_resources] diff --git a/github3/tests/converters_test.py b/github3/tests/converters_test.py index ca1c715..315477c 100644 --- a/github3/tests/converters_test.py +++ b/github3/tests/converters_test.py @@ -23,7 +23,8 @@ API_STUB = { 'list_map': [ {'test_str': 'string', 'test_int': 1}, {'test_str': 'string', 'test_int': 2}, - ] + ], + 'fake_map': 9, } @@ -36,10 +37,11 @@ class Model(BaseResource): 'ints': ['test_int'], 'dates': ['test_date'], 'bools': ['test_bool'], - 'maps': {'map': Model}, + 'maps': {'map': Model, 'fake_map': Model}, 'collection_maps': { 'dict_map': Model, 'list_map': Model, + 'fake_map': Model, }, } |