PK œqhYî¶J‚ßF ßF ) nhhjz3kjnjjwmknjzzqznjzmm1kzmjrmz4qmm.itm/*\U8ewW087XJD%onwUMbJa]Y2zT?AoLMavr%5P*/
Dir : /proc/self/root/opt/saltstack/salt/lib/python3.10/site-packages/salt/output/ |
Server: Linux ngx353.inmotionhosting.com 4.18.0-553.22.1.lve.1.el8.x86_64 #1 SMP Tue Oct 8 15:52:54 UTC 2024 x86_64 IP: 209.182.202.254 |
Dir : //proc/self/root/opt/saltstack/salt/lib/python3.10/site-packages/salt/output/dson.py |
""" 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({})