File manager - Edit - /opt/saltstack/salt/lib/python3.10/site-packages/salt/output/dson.py
Back
""" Display return data in DSON format ================================== This outputter is intended for demonstration purposes. Information on the DSON spec can be found `here`__. .. __: http://vpzomtrrfrt.github.io/DSON/ This outputter requires `Dogeon`__ (installable via pip) .. __: https://github.com/soasme/dogeon """ import logging try: import dson except ImportError: dson = None log = logging.getLogger(__name__) def __virtual__(): if dson is None: return (False, "The dogeon Python package is not installed") return True def output(data, **kwargs): # pylint: disable=unused-argument """ Print the output data in JSON """ try: dump_opts = {"indent": 4, "default": repr} if "output_indent" in __opts__: indent = __opts__.get("output_indent") sort_keys = False if indent == "pretty": indent = 4 sort_keys = True elif isinstance(indent, int): if indent < 0: indent = None dump_opts["indent"] = indent dump_opts["sort_keys"] = sort_keys return dson.dumps(data, **dump_opts) except UnicodeDecodeError as exc: log.error("Unable to serialize output to dson") return dson.dumps( {"error": "Unable to serialize output to DSON", "message": str(exc)} ) except TypeError: log.debug("An error occurred while outputting DSON", exc_info=True) # Return valid JSON for unserializable objects return dson.dumps({})
| ver. 1.4 |
Github
|
.
| PHP 8.2.30 | Generation time: 0 |
proxy
|
phpinfo
|
Settings