Skip to content

Commit

Permalink
docs(cli): add PyYAML requirement notice
Browse files Browse the repository at this point in the history
Fixes #606
  • Loading branch information
max-wittig committed Oct 9, 2018
1 parent 6585c96 commit d29a489
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 6 deletions.
5 changes: 5 additions & 0 deletions docs/cli.rst
Expand Up @@ -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.
Expand Down
22 changes: 16 additions & 6 deletions gitlab/v4/cli.py
Expand Up @@ -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):
Expand Down

0 comments on commit d29a489

Please sign in to comment.