summaryrefslogtreecommitdiff
path: root/gitlab
diff options
context:
space:
mode:
Diffstat (limited to 'gitlab')
-rw-r--r--gitlab/client.py13
-rw-r--r--gitlab/v4/cli.py13
2 files changed, 21 insertions, 5 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")
diff --git a/gitlab/v4/cli.py b/gitlab/v4/cli.py
index 42b94aa..b8f40db 100644
--- a/gitlab/v4/cli.py
+++ b/gitlab/v4/cli.py
@@ -152,7 +152,18 @@ def _populate_sub_parser_by_class(cls, sub_parser):
sub_parser_action.add_argument("--page", required=False)
sub_parser_action.add_argument("--per-page", required=False)
- sub_parser_action.add_argument("--all", required=False, action="store_true")
+ sub_parser_action.add_argument(
+ "--all",
+ required=False,
+ action="store_true",
+ help="Return all items from the server, without pagination.",
+ )
+ sub_parser_action.add_argument(
+ "--all-pages",
+ required=False,
+ action="store_true",
+ help="Same as --all. Use when you need to pass `all` to the GitLab API.",
+ )
if action_name == "delete":
if cls._id_attr is not None: