aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Medina <davidmedina9@gmail.com>2011-11-14 00:29:46 +0100
committerDavid Medina <davidmedina9@gmail.com>2011-11-14 00:29:46 +0100
commit61dabfbe621a5a9a0d098ea4b4001833dd7573e2 (patch)
treeaa9b25dd34674dabaf0a9e717ade84f5e7b129ba
parentAdded handler base test (diff)
downloadpython-github3-61dabfbe621a5a9a0d098ea4b4001833dd7573e2.tar.xz
python-github3-61dabfbe621a5a9a0d098ea4b4001833dd7573e2.zip
Fix converter bug
-rw-r--r--github3/converters.py5
-rw-r--r--github3/tests/converters_test.py6
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,
},
}