summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMax Wittig <max.wittig95@gmail.com>2018-10-07 17:34:44 +0200
committerMax Wittig <max.wittig95@gmail.com>2018-10-09 20:41:55 +0200
commitd29a48981b521bf31d6f0304b88f39a63185328a (patch)
treee40c2e50b41ac2b0952fca3223d8ee262608e205
parent6585c967732fe2a53c6ad6d4d2ab39aaa68258b0 (diff)
downloadgitlab-ci-output-option.tar.gz
docs(cli): add PyYAML requirement noticeci-output-option
Fixes #606
-rw-r--r--docs/cli.rst5
-rw-r--r--gitlab/v4/cli.py22
2 files changed, 21 insertions, 6 deletions
diff --git a/docs/cli.rst b/docs/cli.rst
index 220f079..2051d03 100644
--- a/docs/cli.rst
+++ b/docs/cli.rst
@@ -157,6 +157,11 @@ These options must be defined before the mandatory arguments.
``--output``, ``-o``
Output format. Defaults to a custom format. Can also be ``yaml`` or ``json``.
+ **Notice:**
+
+ The `PyYAML package <https://pypi.org/project/PyYAML/>`_ is required to use the yaml output option.
+ You need to install it separately using ``pip install PyYAML``
+
``--fields``, ``-f``
Comma-separated list of fields to display (``yaml`` and ``json`` output
formats only). If not used, all the object fields are displayed.
diff --git a/gitlab/v4/cli.py b/gitlab/v4/cli.py
index a876f9e..242874d 100644
--- a/gitlab/v4/cli.py
+++ b/gitlab/v4/cli.py
@@ -302,14 +302,24 @@ class JSONPrinter(object):
class YAMLPrinter(object):
def display(self, d, **kwargs):
- import yaml # noqa
- print(yaml.safe_dump(d, default_flow_style=False))
+ try:
+ import yaml # noqa
+ print(yaml.safe_dump(d, default_flow_style=False))
+ except ImportError:
+ exit("PyYaml is not installed.\n"
+ "Install it with `pip install PyYaml` "
+ "to use the yaml output feature")
def display_list(self, data, fields, **kwargs):
- import yaml # noqa
- print(yaml.safe_dump(
- [get_dict(obj, fields) for obj in data],
- default_flow_style=False))
+ try:
+ import yaml # noqa
+ print(yaml.safe_dump(
+ [get_dict(obj, fields) for obj in data],
+ default_flow_style=False))
+ except ImportError:
+ exit("PyYaml is not installed.\n"
+ "Install it with `pip install PyYaml` "
+ "to use the yaml output feature")
class LegacyPrinter(object):