aboutsummaryrefslogtreecommitdiffstats
path: root/github3
diff options
context:
space:
mode:
Diffstat (limited to 'github3')
-rw-r--r--github3/handlers/base.py12
-rw-r--r--github3/tests/handler_test.py4
2 files changed, 9 insertions, 7 deletions
diff --git a/github3/handlers/base.py b/github3/handlers/base.py
index b20bb7d..e36a08a 100644
--- a/github3/handlers/base.py
+++ b/github3/handlers/base.py
@@ -53,8 +53,8 @@ class Handler(object):
prefix = getattr(self, 'prefix', '')
return '/'.join((prefix, str(resource))).strip('/')
- def _get_converter(self, **kwargs):
- converter = kwargs.get(
+ def _get_converter(self, kwargs={}):
+ converter = kwargs.pop(
'converter', # 1. in kwargs
getattr(self, 'converter', # 2. in handler
Modelizer)) # 3. Default
@@ -91,11 +91,11 @@ class Handler(object):
if limit:
limit = abs(limit)
resource = self._prefix_resource(resource)
+ converter = self._get_converter(kwargs)
counter = 1
for page in Paginate(resource, self._gh.get, **kwargs):
for raw_resource in page:
counter += 1
- converter = self._get_converter(**kwargs)
converter.inject(model)
yield converter.loads(raw_resource)
if limit and counter > limit:
@@ -108,8 +108,8 @@ class Handler(object):
""" Handler request to single resource """
resource = self._prefix_resource(resource)
- raw_resource = self._gh.get(resource)
- converter = self._get_converter(**kwargs)
+ converter = self._get_converter(kwargs)
+ raw_resource = self._gh.get(resource, **kwargs)
converter.inject(model)
return converter.loads(raw_resource)
@@ -118,6 +118,6 @@ class Handler(object):
resource = self._prefix_resource(resource)
raw_resource = self._gh.post(resource, data=data)
- converter = self._get_converter(**kwargs)
+ converter = self._get_converter(kwargs)
converter.inject(model)
return converter.loads(raw_resource)
diff --git a/github3/tests/handler_test.py b/github3/tests/handler_test.py
index e95374b..4dbe77a 100644
--- a/github3/tests/handler_test.py
+++ b/github3/tests/handler_test.py
@@ -43,8 +43,10 @@ class TestHandler(TestCase):
def test_get_converter(self):
self.assertIsInstance(self.handler._get_converter(), Modelizer)
- self.assertIsInstance(self.handler._get_converter(converter=Rawlizer),
+ kwargs = {'converter': Rawlizer}
+ self.assertIsInstance(self.handler._get_converter(kwargs),
Rawlizer)
+ self.assertEquals(kwargs, {})
self.handler.converter = Modelizer
self.assertIsInstance(self.handler._get_converter(), Modelizer)