summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNejc Habjan <hab.nejc@gmail.com>2021-03-10 08:29:14 +0100
committerGitHub <noreply@github.com>2021-03-10 08:29:14 +0100
commitf93b9b5af928e127635cc0f2976da5be22d6c735 (patch)
tree9b5d08c0d85bd177ce94ffec7c2a2fef8d22ea45
parentde73ea7933d3f3c94aa27a7d9b9ea7bfd64ad1f1 (diff)
parent8224b4066e84720d7efed3b7891c47af73cc57ca (diff)
downloadgitlab-f93b9b5af928e127635cc0f2976da5be22d6c735.tar.gz
Merge pull request #1367 from JohnVillalovos/jlvillal/from_parent_attrs
fix: checking if RESTManager._from_parent_attrs is set
-rw-r--r--gitlab/base.py4
-rw-r--r--gitlab/v4/cli.py20
2 files changed, 9 insertions, 15 deletions
diff --git a/gitlab/base.py b/gitlab/base.py
index b9960ad..62ace95 100644
--- a/gitlab/base.py
+++ b/gitlab/base.py
@@ -290,12 +290,12 @@ class RESTManager(object):
path = self._path
if path is None:
return None
- if self._parent is None or not hasattr(self, "_from_parent_attrs"):
+ if self._parent is None or not self._from_parent_attrs:
return path
data = {
self_attr: getattr(self._parent, parent_attr, None)
- for self_attr, parent_attr in self._from_parent_attrs.items() # type: ignore
+ for self_attr, parent_attr in self._from_parent_attrs.items()
}
self._parent_attrs = data
return path % data
diff --git a/gitlab/v4/cli.py b/gitlab/v4/cli.py
index a768999..c01f06b 100644
--- a/gitlab/v4/cli.py
+++ b/gitlab/v4/cli.py
@@ -69,7 +69,7 @@ class GitlabCLI(object):
# Get the object (lazy), then act
if in_obj:
data = {}
- if hasattr(self.mgr, "_from_parent_attrs"):
+ if self.mgr._from_parent_attrs:
for k in self.mgr._from_parent_attrs:
data[k] = self.args[k]
if gitlab.mixins.GetWithoutIdMixin not in inspect.getmro(self.cls):
@@ -138,13 +138,11 @@ def _populate_sub_parser_by_class(cls, sub_parser):
sub_parser_action = sub_parser.add_parser(action_name)
sub_parser_action.add_argument("--sudo", required=False)
- if hasattr(mgr_cls, "_from_parent_attrs"):
- [
+ if mgr_cls._from_parent_attrs:
+ for x in mgr_cls._from_parent_attrs:
sub_parser_action.add_argument(
"--%s" % x.replace("_", "-"), required=True
)
- for x in mgr_cls._from_parent_attrs
- ]
if action_name == "list":
if hasattr(mgr_cls, "_list_filters"):
@@ -221,13 +219,11 @@ def _populate_sub_parser_by_class(cls, sub_parser):
for action_name in cli.custom_actions[name]:
sub_parser_action = sub_parser.add_parser(action_name)
# Get the attributes for URL/path construction
- if hasattr(mgr_cls, "_from_parent_attrs"):
- [
+ if mgr_cls._from_parent_attrs:
+ for x in mgr_cls._from_parent_attrs:
sub_parser_action.add_argument(
"--%s" % x.replace("_", "-"), required=True
)
- for x in mgr_cls._from_parent_attrs
- ]
sub_parser_action.add_argument("--sudo", required=False)
# We need to get the object somehow
@@ -256,13 +252,11 @@ def _populate_sub_parser_by_class(cls, sub_parser):
name = mgr_cls.__name__
for action_name in cli.custom_actions[name]:
sub_parser_action = sub_parser.add_parser(action_name)
- if hasattr(mgr_cls, "_from_parent_attrs"):
- [
+ if mgr_cls._from_parent_attrs:
+ for x in mgr_cls._from_parent_attrs:
sub_parser_action.add_argument(
"--%s" % x.replace("_", "-"), required=True
)
- for x in mgr_cls._from_parent_attrs
- ]
sub_parser_action.add_argument("--sudo", required=False)
required, optional, dummy = cli.custom_actions[name][action_name]