aboutsummaryrefslogtreecommitdiffstats
path: root/pygithub3/services/base.py
diff options
context:
space:
mode:
authorDavid Medina <davidmedina9@gmail.com>2012-02-17 13:43:22 +0100
committerDavid Medina <davidmedina9@gmail.com>2012-02-17 18:48:19 +0100
commiteeb5b9727f9b633296fb418fd4e53ddf133b35e9 (patch)
treeedb60dd0e28d9357a88918a59bcae6c91399192e /pygithub3/services/base.py
parentFix en.typo (diff)
downloadpython-github3-eeb5b9727f9b633296fb418fd4e53ddf133b35e9.tar.xz
python-github3-eeb5b9727f9b633296fb418fd4e53ddf133b35e9.zip
Small refactor to building requests in services
Decorate the request-factory to parse common params like user and repo, which can be configurated in service or by args
Diffstat (limited to 'pygithub3/services/base.py')
-rw-r--r--pygithub3/services/base.py9
1 files changed, 8 insertions, 1 deletions
diff --git a/pygithub3/services/base.py b/pygithub3/services/base.py
index a8c7258..1f5d07e 100644
--- a/pygithub3/services/base.py
+++ b/pygithub3/services/base.py
@@ -11,7 +11,7 @@ class Service(object):
def __init__(self, **config):
self._client = Client(**config)
- self.make_request = Factory()
+ self.request_builder = Factory()
def get_user(self):
return self._client.user
@@ -31,6 +31,13 @@ class Service(object):
def set_token(self, token):
self._client.set_token(token)
+ def make_request(self, request, **kwargs):
+ if 'user' in kwargs:
+ kwargs['user'] = kwargs['user'] or self.get_user()
+ if 'repo' in kwargs:
+ kwargs['repo'] = kwargs['repo'] or self.get_repo()
+ return self.request_builder(request, **kwargs)
+
def _bool(self, request, **kwargs):
try:
self._client.head(request, **kwargs)