diff options
author | 2012-03-01 13:12:00 +0100 | |
---|---|---|
committer | 2012-03-01 13:12:00 +0100 | |
commit | 397238b404a66ba25aec1e4d7902e16104eddefc (patch) | |
tree | 7453341e1e3257282cf5d87285b451b6fc13ec23 /pygithub3/services/users/keys.py | |
parent | Services.repos.Repo doc (diff) | |
download | python-github3-397238b404a66ba25aec1e4d7902e16104eddefc.tar.xz python-github3-397238b404a66ba25aec1e4d7902e16104eddefc.zip |
Restructure modules and packages in a clean way
The docs has increased lines of code, so I split it
Diffstat (limited to 'pygithub3/services/users/keys.py')
-rw-r--r-- | pygithub3/services/users/keys.py | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/pygithub3/services/users/keys.py b/pygithub3/services/users/keys.py new file mode 100644 index 0000000..996233c --- /dev/null +++ b/pygithub3/services/users/keys.py @@ -0,0 +1,66 @@ +#!/usr/bin/env python +# -*- encoding: utf-8 -*- + +from . import Service + + +class Keys(Service): + """ Consume `Keys API <http://developer.github.com/v3/users/keys/>`_ + + .. warning:: + + You must be authenticated for all requests + """ + + def list(self): + """ Get public keys + + :returns: A :doc:`result` + """ + request = self.make_request('users.keys.list') + return self._get_result(request) + + def get(self, key_id): + """ Get a public key + + :param int key_id: Key id + """ + request = self.make_request('users.keys.get', + key_id=key_id) + return self._get(request) + + def add(self, data): + """ Add a public key + + :param dict data: Key (title and key attributes required) + + :: + + key_service.add(dict(title='host', key='ssh-rsa AAA...')) + """ + request = self.make_request('users.keys.add', + body=data) + return self._post(request) + + def update(self, key_id, data): + """ Update a public key + + :param int key_id: Key id + :param dict data: Key (title and key attributes required) + + :: + + key_service.update(42, dict(title='host', key='ssh-rsa AAA...')) + """ + request = self.make_request('users.keys.update', + key_id=key_id, body=data) + return self._patch(request) + + def delete(self, key_id): + """ Delete a public key + + :param int key_id: Key id + """ + request = self.make_request('users.keys.delete', + key_id=key_id) + self._delete(request) |