aboutsummaryrefslogtreecommitdiffstats
path: root/pygithub3/services/repos.py
diff options
context:
space:
mode:
Diffstat (limited to 'pygithub3/services/repos.py')
-rw-r--r--pygithub3/services/repos.py28
1 files changed, 28 insertions, 0 deletions
diff --git a/pygithub3/services/repos.py b/pygithub3/services/repos.py
index c37f21e..b20d317 100644
--- a/pygithub3/services/repos.py
+++ b/pygithub3/services/repos.py
@@ -6,6 +6,33 @@ import requests
from .base import Service, MimeTypeMixin
+class Watchers(Service):
+
+ def list(self, user=None, repo=None):
+ request = self.make_request('repos.watchers.list',
+ user=user, repo=repo)
+ return self._get_result(request)
+
+ def list_repos(self, user=None):
+ request = self.make_request('repos.watchers.list_repos', user=user)
+ return self._get_result(request)
+
+ def is_watching(self, user=None, repo=None):
+ request = self.make_request('repos.watchers.is_watching',
+ user=user, repo=repo)
+ return self._bool(request)
+
+ def watch(self, user=None, repo=None):
+ request = self.make_request('repos.watchers.watch',
+ user=user, repo=repo)
+ self._put(request)
+
+ def unwatch(self, user=None, repo=None):
+ request = self.make_request('repos.watchers.unwatch',
+ user=user, repo=repo)
+ self._delete(request)
+
+
class Keys(Service):
def list(self, user=None, repo=None):
@@ -152,6 +179,7 @@ class Repo(Service):
self.downloads = Downloads(**config)
self.forks = Forks(**config)
self.keys = Keys(**config)
+ self.watchers = Watchers(**config)
super(Repo, self).__init__(**config)
def list(self, user=None, type='all'):