diff options
Diffstat (limited to 'gitlab/v4/cli.py')
-rw-r--r-- | gitlab/v4/cli.py | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/gitlab/v4/cli.py b/gitlab/v4/cli.py index e61ef20..637adfc 100644 --- a/gitlab/v4/cli.py +++ b/gitlab/v4/cli.py @@ -33,7 +33,7 @@ class GitlabCLI(object): self.cls_name = cli.what_to_cls(what) self.cls = gitlab.v4.objects.__dict__[self.cls_name] self.what = what.replace('-', '_') - self.action = action.lower().replace('-', '') + self.action = action.lower() self.gl = gl self.args = args self.mgr_cls = getattr(gitlab.v4.objects, @@ -64,7 +64,8 @@ class GitlabCLI(object): if gitlab.mixins.GetWithoutIdMixin not in inspect.getmro(self.cls): data[self.cls._id_attr] = self.args.pop(self.cls._id_attr) o = self.cls(self.mgr, data) - return getattr(o, self.action)(**self.args) + method_name = self.action.replace('-', '_') + return getattr(o, method_name)(**self.args) else: return getattr(self.mgr, self.action)(**self.args) @@ -314,7 +315,9 @@ def run(gl, what, action, args, verbose, output, fields): if k in fields} return obj.attributes - if isinstance(ret_val, list): + if isinstance(ret_val, dict): + printer.display(ret_val, verbose=True, obj=ret_val) + elif isinstance(ret_val, list): for obj in ret_val: if isinstance(obj, gitlab.base.RESTObject): printer.display(get_dict(obj), verbose=verbose, obj=obj) |