yaml.py 664 B

12345678910111213141516171819202122232425
  1. # Copyright (c) Alibaba, Inc. and its affiliates.
  2. import yaml
  3. try:
  4. from yaml import CDumper as Dumper
  5. from yaml import CLoader as Loader
  6. except ImportError:
  7. from yaml import Loader, Dumper # type: ignore
  8. from .base import FormatHandler # isort:skip
  9. class YamlHandler(FormatHandler):
  10. def load(self, file, **kwargs):
  11. kwargs.setdefault('Loader', Loader)
  12. return yaml.safe_load(file)
  13. def dump(self, obj, file, **kwargs):
  14. kwargs.setdefault('Dumper', Dumper)
  15. yaml.dump(obj, file, **kwargs)
  16. def dumps(self, obj, **kwargs):
  17. kwargs.setdefault('Dumper', Dumper)
  18. return yaml.dump(obj, **kwargs)