From 397238b404a66ba25aec1e4d7902e16104eddefc Mon Sep 17 00:00:00 2001 From: David Medina Date: Thu, 1 Mar 2012 13:12:00 +0100 Subject: Restructure modules and packages in a clean way The docs has increased lines of code, so I split it --- pygithub3/services/users/keys.py | 66 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 pygithub3/services/users/keys.py (limited to 'pygithub3/services/users/keys.py') 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 `_ + + .. 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) -- cgit v1.2.3-59-g8ed1b