diff options
Diffstat (limited to 'pygithub3')
-rw-r--r-- | pygithub3/services/base.py | 9 | ||||
-rw-r--r-- | pygithub3/services/repos.py | 45 | ||||
-rw-r--r-- | pygithub3/services/users.py | 28 |
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): |