summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZuul <zuul@review.opendev.org>2022-07-18 18:49:01 +0000
committerGerrit Code Review <review@openstack.org>2022-07-18 18:49:01 +0000
commit468d80e3ac49aacd24c37d8be89621a333c901c8 (patch)
tree198a4317718908441ee64a29cc1c9c76bbdbcee3
parent13f08e4828a7c60f522d7fa5858487ec35a06699 (diff)
parent3e0eed49c5c7e38c906e6c31b948d273e3fa91be (diff)
downloadcliff-468d80e3ac49aacd24c37d8be89621a333c901c8.tar.gz
Merge "Defer loading PyYAML"
-rw-r--r--cliff/formatters/yaml_format.py8
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()