diff options
author | 2011-11-30 00:07:05 +0100 | |
---|---|---|
committer | 2011-11-30 00:07:05 +0100 | |
commit | f5ab0a9c6f35950e09e3c4fa0f908c1fc477cf33 (patch) | |
tree | 753efa90620d83c57dc1ebc9ab5b518c94728334 | |
parent | GistComment model (diff) | |
download | python-github3-f5ab0a9c6f35950e09e3c4fa0f908c1fc477cf33.tar.xz python-github3-f5ab0a9c6f35950e09e3c4fa0f908c1fc477cf33.zip |
Fix get_converter to delete converter in kwargs
It doesn't matter if converter is populate in kwargs to requests
but it's more elegant and simplify tests
-rw-r--r-- | github3/handlers/base.py | 12 | ||||
-rw-r--r-- | github3/tests/handler_test.py | 4 |
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) |