%PDF- %PDF-
Direktori : /usr/lib/python2.7/site-packages/salt/output/ |
Current File : //usr/lib/python2.7/site-packages/salt/output/yaml_out.py |
# -*- coding: utf-8 -*- ''' Display return data in YAML format ================================== This outputter defaults to printing in YAML block mode for better readability. Example output:: saltmine: foo: bar: baz dictionary: abc: 123 def: 456 list: - Hello - World ''' from __future__ import absolute_import, print_function, unicode_literals # Import third party libs import logging # Import salt libs import salt.utils.yaml # Define the module's virtual name __virtualname__ = 'yaml' log = logging.getLogger(__name__) def __virtual__(): return __virtualname__ def output(data, **kwargs): # pylint: disable=unused-argument ''' Print out YAML using the block mode ''' params = {} if 'output_indent' not in __opts__: # default indentation params.update(default_flow_style=False) elif __opts__['output_indent'] >= 0: # custom indent params.update(default_flow_style=False, indent=__opts__['output_indent']) else: # no indentation params.update(default_flow_style=True, indent=0) try: return salt.utils.yaml.safe_dump(data, **params) except Exception as exc: import pprint log.exception( 'Exception %s encountered when trying to serialize %s', exc, pprint.pformat(data) )