From 61dabfbe621a5a9a0d098ea4b4001833dd7573e2 Mon Sep 17 00:00:00 2001 From: David Medina Date: Mon, 14 Nov 2011 00:29:46 +0100 Subject: Fix converter bug --- github3/converters.py | 5 +++-- github3/tests/converters_test.py | 6 ++++-- 2 files changed, 7 insertions(+), 4 deletions(-) (limited to 'github3') 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, }, } -- cgit v1.2.3-59-g8ed1b