Source code for wxyz.yaml.widget_yaml
""" Widgets for working with YAML
"""
# pylint: disable=too-few-public-methods
# pylint: disable=no-name-in-module,cyclic-import
from yaml import safe_dump, safe_load
from wxyz.core import JSON, UnJSON
from .base import T, W, YAMLBase
[docs]@W.register
class YAML(JSON, YAMLBase):
"""A Widget that parses YAML source into... something"""
_model_name = T.Unicode("YAMLModel").tag(sync=True)
[docs] def the_function(self, source):
""" "safely" load some YAML"""
return safe_load(source)
[docs]@W.register
class UnYAML(UnJSON, YAMLBase):
"""A Widget that dumps... something into YAML"""
_model_name = T.Unicode("UnYAMLModel").tag(sync=True)
[docs] def the_function(self, source, indent):
""" "safely" dump some YAML"""
return safe_dump(source, indent=indent, default_flow_style=False)