summaryrefslogtreecommitdiff
path: root/gitlab.py
diff options
context:
space:
mode:
authorGauvain Pocentek <gauvain@pocentek.net>2013-05-18 16:36:44 +0200
committerGauvain Pocentek <gauvain@pocentek.net>2013-05-18 16:36:44 +0200
commit72e097d8b2d3cb2b2f3943c92791071a96a96eba (patch)
tree8259bba26cce9af7ae09e84d944ccf1790ce071c /gitlab.py
parentabf1b0df06ef1a1806da00eb91d98c5fe7a4bd72 (diff)
downloadgitlab-72e097d8b2d3cb2b2f3943c92791071a96a96eba.tar.gz
provide a ProjectSnippet.Content() method
Diffstat (limited to 'gitlab.py')
-rw-r--r--gitlab.py23
1 files changed, 23 insertions, 0 deletions
diff --git a/gitlab.py b/gitlab.py
index 088d266..0532942 100644
--- a/gitlab.py
+++ b/gitlab.py
@@ -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,