diff options
author | Gauvain Pocentek <gauvain.pocentek@objectif-libre.com> | 2016-01-10 18:21:46 +0100 |
---|---|---|
committer | Gauvain Pocentek <gauvain.pocentek@objectif-libre.com> | 2016-01-10 18:21:46 +0100 |
commit | 1d7ebea727c2fa68135ef4290dfe51604d843688 (patch) | |
tree | bad1985ed2fd1d4196628e862643eb0870d18dc6 /gitlab/objects.py | |
parent | e5821e6a39344d545ac230ac6d868a8f0aaeb46b (diff) | |
download | gitlab-1d7ebea727c2fa68135ef4290dfe51604d843688.tar.gz |
Support deletion without getting the object first
Use this feature in the CLI to avoid an extra API call to the server.
Diffstat (limited to 'gitlab/objects.py')
-rw-r--r-- | gitlab/objects.py | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/gitlab/objects.py b/gitlab/objects.py index 628b41f..2ab2a52 100644 --- a/gitlab/objects.py +++ b/gitlab/objects.py @@ -134,6 +134,21 @@ class BaseManager(object): raise NotImplementedError return self.obj_cls.create(self.gitlab, data, **kwargs) + def delete(self, id, **kwargs): + """Delete a GitLab object. + + Args: + id: ID of the object to delete. + + Raises: + NotImplementedError: If objects cannot be deleted. + GitlabDeleteError: If the server fails to perform the request. + """ + self._set_parent_args(**kwargs) + if not self.obj_cls.canDelete: + raise NotImplementedError + self.gitlab.delete(self.obj_cls, id, **kwargs) + def _custom_list(self, url, cls, **kwargs): r = self.gitlab._raw_get(url, **kwargs) raise_error_from_response(r, GitlabListError) |