From 1b6c5952f06fe1236e1e75ae68f9c2325e78d372 Mon Sep 17 00:00:00 2001 From: Diego Giovane Pasqualin Date: Fri, 10 Jan 2014 09:55:48 -0200 Subject: [PATCH] Add support for extra parameters when listing all projects (Refs #12) Signed-off-by: Diego Giovane Pasqualin --- gitlab.py | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/gitlab.py b/gitlab.py index f827a5b72..d1a9dd6b3 100644 --- a/gitlab.py +++ b/gitlab.py @@ -131,8 +131,12 @@ def setCredentials(self, email, password): self.email = email self.password = password - def rawGet(self, path): + def rawGet(self, path, **kwargs): url = '%s%s' % (self._url, path) + if kwargs: + url += "?%s" % ("&".join( + ["%s=%s" % (k, v) for k, v in kwargs.items()])) + try: return requests.get(url, headers=self.headers, @@ -355,8 +359,8 @@ def UserProject(self, id=None, **kwargs): """ return self._getListOrObject(UserProject, id, **kwargs) - def _list_projects(self, url): - r = self.rawGet(url) + def _list_projects(self, url, **kwargs): + r = self.rawGet(url, **kwargs) if r.status_code != 200: raise GitlabListError @@ -373,13 +377,13 @@ def search_projects(self, query): """ return self._list_projects("/projects/search/" + query) - def all_projects(self): + def all_projects(self, **kwargs): """Lists all the projects (need admin rights).""" - return self._list_projects("/projects/all") + return self._list_projects("/projects/all", **kwargs) - def owned_projects(self): + def owned_projects(self, **kwargs): """Lists owned projects.""" - return self._list_projects("/projects/owned") + return self._list_projects("/projects/owned", **kwargs) def Group(self, id=None, **kwargs): """Creates/gets/lists group(s) known by the GitLab server.