diff options
Diffstat (limited to 'github3/handlers/users.py')
-rw-r--r-- | github3/handlers/users.py | 46 |
1 files changed, 30 insertions, 16 deletions
diff --git a/github3/handlers/users.py b/github3/handlers/users.py index 34ed013..08c6171 100644 --- a/github3/handlers/users.py +++ b/github3/handlers/users.py @@ -155,7 +155,7 @@ class AuthUser(User): :param `user`: User model or username string """ - parse_user = str(getattr(user, 'login', user)) + parse_user = getattr(user, 'login', user) return self._bool('following/%s' % parse_user) def follow(self, user): @@ -179,23 +179,28 @@ class AuthUser(User): parse_user = getattr(user, 'login', user) return self._delete('following/%s' % parse_user) - def get_keys(self): + def get_keys(self, limit=None): """ Get public keys """ return self._get_resources('keys', model=models.Key, limit=limit) - def get_key(self, key_id): - """ Get public key by id """ + def get_key(self, key): + """ Get public key + + :param `key`: Key model or key id + + """ - return self._get_resource('keys/%s' % key_id, model=models.Key) + parse_key_id = getattr(key, 'id', key) + return self._get_resource('keys/%s' % parse_key_id, model=models.Key) def create_key(self, **kwargs): """ Create public key :param title - :param key: Key string + :param key: Key string (It must starts with 'ssh-rsa') """ #TODO: render key.pub file @@ -205,12 +210,17 @@ class AuthUser(User): } return self._post_resource('keys', data=key, model=models.Key) - def delete_key(self, key_id): - """ Delete public key """ + def delete_key(self, key): + """ Delete public key - return self._delete('keys/%s' % key_id) + :param `key`: Key model or key id - def get_repos(self, filter='all'): + """ + + parse_key_id = getattr(key, 'id', key) + return self._delete('keys/%s' % parse_key_id) + + def get_repos(self, filter='all', limit=None): """ Return user's public repositories @@ -224,8 +234,8 @@ class AuthUser(User): """ Return true if you are watching the user repository - :param owner: username - :param repo: repository name + :param owner: Model user or username string + :param repo: Model repo or repo name string is_watching_repo('copitux', 'python-github3') """ @@ -237,18 +247,22 @@ class AuthUser(User): """ Watch the repository - :param owner: username - :param repo: repository name + :param owner: Model user or username string + :param repo: Model repo or repo name string """ + owner = getattr(owner, 'login', owner) + repo = getattr(repo, 'name', repo) return self._put('watched/%s/%s' % (owner, repo)) def unwatch_repo(self, owner, repo): """ Unwatch the repository - :param owner: username - :param repo: repository name + :param owner: Model user or username string + :param repo: Model repo or repo name string """ + owner = getattr(owner, 'login', owner) + repo = getattr(repo, 'name', repo) return self._delete('watched/%s/%s' % (owner, repo)) |