summaryrefslogtreecommitdiff
path: root/gitlab/client.py
diff options
context:
space:
mode:
authorNejc Habjan <hab.nejc@gmail.com>2021-05-15 18:20:01 +0200
committerNejc Habjan <hab.nejc@gmail.com>2021-05-15 18:21:19 +0200
commitdcf71a0290a3af14ae2f0eee70a2776eb29d9dc2 (patch)
tree16029ed5197ed207e458f66af7192a01790a7dd3 /gitlab/client.py
parentf35c73e50918e4d55b70323669f394e52e75cde9 (diff)
downloadgitlab-fix/all-pages-consumes-all-param.tar.gz
fix(api): add all_pages param to allow passing `all` to APIfix/all-pages-consumes-all-param
Diffstat (limited to 'gitlab/client.py')
-rw-r--r--gitlab/client.py13
1 files changed, 9 insertions, 4 deletions
diff --git a/gitlab/client.py b/gitlab/client.py
index 1fcda1e..e42350e 100644
--- a/gitlab/client.py
+++ b/gitlab/client.py
@@ -652,9 +652,9 @@ class Gitlab(object):
Returns:
list: A list of the objects returned by the server. If `as_list` is
False and no pagination-related arguments (`page`, `per_page`,
- `all`) are defined then a GitlabList object (generator) is returned
- instead. This object will make API calls when needed to fetch the
- next items from the server.
+ `all`/`all_pages`) are defined then a GitlabList object (generator) is
+ returned instead. This object will make API calls when needed to fetch
+ the next items from the server.
Raises:
GitlabHttpError: When the return code is not 2xx
@@ -665,7 +665,12 @@ class Gitlab(object):
# In case we want to change the default behavior at some point
as_list = True if as_list is None else as_list
- get_all = kwargs.pop("all", False)
+ # Provide an "all_pages" param for endpoints that also take "all" as param.
+ get_all = kwargs.pop("all_pages", None)
+
+ if get_all is None:
+ get_all = kwargs.pop("all", False)
+
url = self._build_url(path)
page = kwargs.get("page")