diff options
author | Zuul <zuul@review.opendev.org> | 2022-07-18 18:49:01 +0000 |
---|---|---|
committer | Gerrit Code Review <review@openstack.org> | 2022-07-18 18:49:01 +0000 |
commit | 468d80e3ac49aacd24c37d8be89621a333c901c8 (patch) | |
tree | 198a4317718908441ee64a29cc1c9c76bbdbcee3 | |
parent | 13f08e4828a7c60f522d7fa5858487ec35a06699 (diff) | |
parent | 3e0eed49c5c7e38c906e6c31b948d273e3fa91be (diff) | |
download | cliff-468d80e3ac49aacd24c37d8be89621a333c901c8.tar.gz |
Merge "Defer loading PyYAML"
-rw-r--r-- | cliff/formatters/yaml_format.py | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/cliff/formatters/yaml_format.py b/cliff/formatters/yaml_format.py index 8b1e64d..71d4906 100644 --- a/cliff/formatters/yaml_format.py +++ b/cliff/formatters/yaml_format.py @@ -13,8 +13,6 @@ """Output formatters using PyYAML. """ -import yaml - from . import base from cliff import columns @@ -25,6 +23,9 @@ class YAMLFormatter(base.ListFormatter, base.SingleFormatter): pass def emit_list(self, column_names, data, stdout, parsed_args): + # the yaml import is slow, so defer loading until we know we want it + import yaml + items = [] for item in data: items.append( @@ -36,6 +37,9 @@ class YAMLFormatter(base.ListFormatter, base.SingleFormatter): yaml.safe_dump(items, stream=stdout, default_flow_style=False) def emit_one(self, column_names, data, stdout, parsed_args): + # the yaml import is slow, so defer loading until we know we want it + import yaml + for key, value in zip(column_names, data): dict_data = { key: (value.machine_readable() |