aboutsummaryrefslogtreecommitdiffstats
path: root/pygithub3/services/users.py
diff options
context:
space:
mode:
Diffstat (limited to 'pygithub3/services/users.py')
-rw-r--r--pygithub3/services/users.py44
1 files changed, 35 insertions, 9 deletions
diff --git a/pygithub3/services/users.py b/pygithub3/services/users.py
index c4878dd..9ec15e8 100644
--- a/pygithub3/services/users.py
+++ b/pygithub3/services/users.py
@@ -7,34 +7,59 @@ from .base import Base
class Keys(Base):
def list(self):
- return self.get_resource('user/keys')
+ return self._get_result('users.keys.list')
+
+ def get(self, key_id):
+ self._config_request(key_id=key_id)
+ return self._get('users.keys.get')
+
+ def add(self, data):
+ self._config_request(add_data=data)
+ return self._post('users.keys.add')
+
+ def update(self, key_id, data):
+ self._config_request(key_id=key_id, update_with=data)
+ return self._patch('users.keys.update')
+
+ def delete(self, key_id):
+ self._config_request(key_id=key_id)
+ self._delete('users.keys.delete')
class Followers(Base):
def list(self, user=None):
- self.config_request(user=user or self.client.user)
+ self._config_request(user=user or self.get_user())
return self._get_result('users.followers.list')
def list_following(self, user=None):
- self.config_request(user=user or self.client.user)
+ self._config_request(user=user or self.get_user())
return self._get_result('users.followers.listfollowing')
+ def is_following(self, user):
+ self._config_request(user=user)
+ return self._bool('users.followers.isfollowing')
+
+ def follow(self, user):
+ self._config_request(user=user)
+ self._put('users.followers.follow')
+
def unfollow(self, user):
- self.config_request(user=user)
+ self._config_request(user=user)
self._delete('users.followers.unfollow')
+
class Emails(Base):
def list(self):
return self._get_result('users.emails.list')
def add(self, *args):
- self.config_request(emails=args)
+ self._config_request(emails=args)
return self._post('users.emails.add')
def delete(self, *args):
- self.config_request(emails=args)
+ self._config_request(emails=args)
self._delete('users.emails.delete')
@@ -47,8 +72,9 @@ class User(Base):
super(User, self).__init__(**kwargs)
def get(self, user=None):
- self.config_request(user=user or self.client.user)
+ self._config_request(user=user or self.get_user())
return self._get('users.get')
- def update(self):
- pass
+ def update(self, data):
+ self._config_request(update_with=data)
+ return self._patch('users.update')