diff options
author | Gauvain Pocentek <gauvain@pocentek.net> | 2013-05-18 16:36:44 +0200 |
---|---|---|
committer | Gauvain Pocentek <gauvain@pocentek.net> | 2013-05-18 16:36:44 +0200 |
commit | 72e097d8b2d3cb2b2f3943c92791071a96a96eba (patch) | |
tree | 8259bba26cce9af7ae09e84d944ccf1790ce071c /gitlab.py | |
parent | abf1b0df06ef1a1806da00eb91d98c5fe7a4bd72 (diff) | |
download | gitlab-72e097d8b2d3cb2b2f3943c92791071a96a96eba.tar.gz |
provide a ProjectSnippet.Content() method
Diffstat (limited to 'gitlab.py')
-rw-r--r-- | gitlab.py | 23 |
1 files changed, 23 insertions, 0 deletions
@@ -129,6 +129,19 @@ class Gitlab(object): self.email = email self.password = password + def rawGet(self, path, with_token=False): + url = '%s%s' % (self._url, path) + if with_token: + url += "?private_token=%s" % self.private_token + + try: + r = requests.get(url) + except: + raise GitlabConnectionError( + "Can't connect to GitLab server (%s)" % self._url) + + return r + def rawPost(self, path, data): url = '%s%s' % (self._url, path) try: @@ -658,6 +671,16 @@ class ProjectSnippet(GitlabObject): requiredCreateAttrs = ['project_id', 'title', 'file_name', 'code'] optionalCreateAttrs = ['lifetime'] + def Content(self): + url = "/projects/%(project_id)s/snippets/%(snippet_id)s/raw" % \ + {'project_id': self.project_id, 'snippet_id': self.id} + r = self.gitlab.rawGet(url, True) + + if r.status_code == 200: + return r.content + else: + raise GitlabGetError + def Note(self, id=None, **kwargs): return self._getListOrObject(ProjectSnippetNote, id, project_id=self.project_id, |