diff --git a/README.rst b/README.rst
index ff71fcb73..e8f2d76dc 100644
--- a/README.rst
+++ b/README.rst
@@ -54,6 +54,13 @@ Documentation
The full documentation for CLI and API is available on `readthedocs
`_.
+Build the docs
+--------------
+You can build the documentation using ``sphinx``::
+
+ pip install sphinx
+ python setup.py build_sphinx
+
Contributing
============
diff --git a/docs/cli.rst b/docs/cli.rst
index 220f0798a..2051d0373 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 `_ 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 a876f9ee6..242874d1a 100644
--- a/gitlab/v4/cli.py
+++ b/gitlab/v4/cli.py
@@ -302,14 +302,24 @@ def display_list(self, data, fields, **kwargs):
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):