diff options
author | Gauvain Pocentek <gauvain@pocentek.net> | 2017-02-04 08:54:55 +0100 |
---|---|---|
committer | Gauvain Pocentek <gauvain@pocentek.net> | 2017-02-04 08:58:54 +0100 |
commit | 492a75121375059a66accbbbd6af433acf6d7106 (patch) | |
tree | caec79591c0a886dd035384d476de86fb9e22d33 /gitlab | |
parent | dad134556dd624243c85b5f61a40cc893357492d (diff) | |
download | gitlab-492a75121375059a66accbbbd6af433acf6d7106.tar.gz |
Deploy keys: rework enable/disable
The method have been moved to the keys manager class as they don't make
sens at all on the project keys themselves.
Update doc and add tests.
Fixes #196
Diffstat (limited to 'gitlab')
-rw-r--r-- | gitlab/objects.py | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/gitlab/objects.py b/gitlab/objects.py index 846da20..1ea3049 100644 --- a/gitlab/objects.py +++ b/gitlab/objects.py @@ -1366,24 +1366,23 @@ class ProjectKey(GitlabObject): requiredUrlAttrs = ['project_id'] requiredCreateAttrs = ['title', 'key'] - def enable(self): + +class ProjectKeyManager(BaseManager): + obj_cls = ProjectKey + + def enable(self, key_id): """Enable a deploy key for a project.""" - url = '/projects/%s/deploy_keys/%s/enable' % (self.project_id, self.id) + url = '/projects/%s/deploy_keys/%s/enable' % (self.parent.id, key_id) r = self.gitlab._raw_post(url) raise_error_from_response(r, GitlabProjectDeployKeyError, 201) - def disable(self): + def disable(self, key_id): """Disable a deploy key for a project.""" - url = '/projects/%s/deploy_keys/%s/disable' % (self.project_id, - self.id) + url = '/projects/%s/deploy_keys/%s/disable' % (self.parent.id, key_id) r = self.gitlab._raw_delete(url) raise_error_from_response(r, GitlabProjectDeployKeyError, 200) -class ProjectKeyManager(BaseManager): - obj_cls = ProjectKey - - class ProjectEvent(GitlabObject): _url = '/projects/%(project_id)s/events' canGet = 'from_list' |