aboutsummaryrefslogtreecommitdiffstats
path: root/pygithub3
diff options
context:
space:
mode:
Diffstat (limited to 'pygithub3')
-rw-r--r--pygithub3/services/base.py9
-rw-r--r--pygithub3/services/repos.py45
-rw-r--r--pygithub3/services/users.py28
3 files changed, 32 insertions, 50 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)
diff --git a/pygithub3/services/repos.py b/pygithub3/services/repos.py
index 0de4045..42a5788 100644
--- a/pygithub3/services/repos.py
+++ b/pygithub3/services/repos.py
@@ -8,29 +8,22 @@ class Collaborator(Service):
def list(self, user=None, repo=None):
request = self.make_request('repos.collaborators.list',
- user=user or self.get_user(),
- repo=repo or self.get_repo())
+ user=user, repo=repo)
return self._get_result(request)
def add(self, collaborator, user=None, repo=None):
request = self.make_request('repos.collaborators.add',
- collaborator=collaborator,
- user=user or self.get_user(),
- repo=repo or self.get_repo())
+ collaborator=collaborator, user=user, repo=repo)
return self._put(request)
def is_collaborator(self, collaborator, user=None, repo=None):
request = self.make_request('repos.collaborators.is_collaborator',
- collaborator=collaborator,
- user=user or self.get_user(),
- repo=repo or self.get_repo())
+ collaborator=collaborator, user=user, repo=repo)
return self._bool(request)
def delete(self, collaborator, user=None, repo=None):
request = self.make_request('repos.collaborators.delete',
- collaborator=collaborator,
- user=user or self.get_user(),
- repo=repo or self.get_repo())
+ collaborator=collaborator, user=user, repo=repo)
self._delete(request)
@@ -41,8 +34,7 @@ class Repo(Service):
super(Repo, self).__init__(**config)
def list(self, user=None, type='all'):
- request = self.make_request('repos.list',
- user=user or self.get_user())
+ request = self.make_request('repos.list', user=user)
return self._get_result(request, type=type)
def list_by_org(self, org, type='all'):
@@ -54,22 +46,17 @@ class Repo(Service):
return self._post(request)
def get(self, user=None, repo=None):
- request = self.make_request('repos.get',
- user=user or self.get_user(),
- repo=repo or self.get_repo())
+ request = self.make_request('repos.get', user=user, repo=repo)
return self._get(request)
def update(self, data, user=None, repo=None):
- request = self.make_request('repos.update',
- body=data,
- user=user or self.get_user(),
- repo=repo or self.get_repo())
+ request = self.make_request('repos.update', body=data,
+ user=user, repo=repo)
return self._patch(request)
def __list_contributors(self, user=None, repo=None, **kwargs):
request = self.make_request('repos.list_contributors',
- user=user or self.get_user(),
- repo=repo or self.get_repo())
+ user=user, repo=repo)
return self._get_result(request, **kwargs)
def list_contributors(self, user=None, repo=None):
@@ -80,24 +67,18 @@ class Repo(Service):
def list_languages(self, user=None, repo=None):
request = self.make_request('repos.list_languages',
- user=user or self.get_user(),
- repo=repo or self.get_repo())
+ user=user, repo=repo)
return self._get(request)
def list_teams(self, user=None, repo=None):
- request = self.make_request('repos.list_teams',
- user=user or self.get_user(),
- repo=repo or self.get_repo())
+ request = self.make_request('repos.list_teams', user=user, repo=repo)
return self._get_result(request)
def list_tags(self, user=None, repo=None):
- request = self.make_request('repos.list_tags',
- user=user or self.get_user(),
- repo=repo or self.get_repo())
+ request = self.make_request('repos.list_tags', user=user, repo=repo)
return self._get_result(request)
def list_branches(self, user=None, repo=None):
request = self.make_request('repos.list_branches',
- user=user or self.get_user(),
- repo=repo or self.get_repo())
+ user=user, repo=repo)
return self._get_result(request)
diff --git a/pygithub3/services/users.py b/pygithub3/services/users.py
index 00aee53..2bf4302 100644
--- a/pygithub3/services/users.py
+++ b/pygithub3/services/users.py
@@ -34,28 +34,23 @@ class Keys(Service):
class Followers(Service):
def list(self, user=None):
- request = self.make_request('users.followers.list',
- user=user or self.get_user())
+ request = self.make_request('users.followers.list', user=user)
return self._get_result(request)
def list_following(self, user=None):
- request = self.make_request('users.followers.listfollowing',
- user=user or self.get_user())
+ request = self.make_request('users.followers.listfollowing', user=user)
return self._get_result(request)
def is_following(self, user):
- request = self.make_request('users.followers.isfollowing',
- user=user)
+ request = self.make_request('users.followers.isfollowing', user=user)
return self._bool(request)
def follow(self, user):
- request = self.make_request('users.followers.follow',
- user=user)
+ request = self.make_request('users.followers.follow', user=user)
self._put(request)
def unfollow(self, user):
- request = self.make_request('users.followers.unfollow',
- user=user)
+ request = self.make_request('users.followers.unfollow', user=user)
self._delete(request)
@@ -76,15 +71,14 @@ class Emails(Service):
class User(Service):
- def __init__(self, **kwargs):
- self.keys = Keys(**kwargs)
- self.emails = Emails(**kwargs)
- self.followers = Followers(**kwargs)
- super(User, self).__init__(**kwargs)
+ def __init__(self, **config):
+ self.keys = Keys(**config)
+ self.emails = Emails(**config)
+ self.followers = Followers(**config)
+ super(User, self).__init__(**config)
def get(self, user=None):
- request = self.make_request('users.get',
- user=user or self.get_user())
+ request = self.make_request('users.get', user=user)
return self._get(request)
def update(self, data):