loader.py 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. # coding: utf-8
  2. from __future__ import absolute_import
  3. from ruamel.yaml.reader import Reader
  4. from ruamel.yaml.scanner import Scanner, RoundTripScanner
  5. from ruamel.yaml.parser import Parser, RoundTripParser
  6. from ruamel.yaml.composer import Composer
  7. from ruamel.yaml.constructor import (
  8. BaseConstructor,
  9. SafeConstructor,
  10. Constructor,
  11. RoundTripConstructor,
  12. )
  13. from ruamel.yaml.resolver import VersionedResolver
  14. if False: # MYPY
  15. from typing import Any, Dict, List, Union, Optional # NOQA
  16. from ruamel.yaml.compat import StreamTextType, VersionType # NOQA
  17. __all__ = ['BaseLoader', 'SafeLoader', 'Loader', 'RoundTripLoader']
  18. class BaseLoader(Reader, Scanner, Parser, Composer, BaseConstructor, VersionedResolver):
  19. def __init__(self, stream, version=None, preserve_quotes=None):
  20. # type: (StreamTextType, Optional[VersionType], Optional[bool]) -> None
  21. Reader.__init__(self, stream, loader=self)
  22. Scanner.__init__(self, loader=self)
  23. Parser.__init__(self, loader=self)
  24. Composer.__init__(self, loader=self)
  25. BaseConstructor.__init__(self, loader=self)
  26. VersionedResolver.__init__(self, version, loader=self)
  27. class SafeLoader(Reader, Scanner, Parser, Composer, SafeConstructor, VersionedResolver):
  28. def __init__(self, stream, version=None, preserve_quotes=None):
  29. # type: (StreamTextType, Optional[VersionType], Optional[bool]) -> None
  30. Reader.__init__(self, stream, loader=self)
  31. Scanner.__init__(self, loader=self)
  32. Parser.__init__(self, loader=self)
  33. Composer.__init__(self, loader=self)
  34. SafeConstructor.__init__(self, loader=self)
  35. VersionedResolver.__init__(self, version, loader=self)
  36. class Loader(Reader, Scanner, Parser, Composer, Constructor, VersionedResolver):
  37. def __init__(self, stream, version=None, preserve_quotes=None):
  38. # type: (StreamTextType, Optional[VersionType], Optional[bool]) -> None
  39. Reader.__init__(self, stream, loader=self)
  40. Scanner.__init__(self, loader=self)
  41. Parser.__init__(self, loader=self)
  42. Composer.__init__(self, loader=self)
  43. Constructor.__init__(self, loader=self)
  44. VersionedResolver.__init__(self, version, loader=self)
  45. class RoundTripLoader(
  46. Reader,
  47. RoundTripScanner,
  48. RoundTripParser,
  49. Composer,
  50. RoundTripConstructor,
  51. VersionedResolver,
  52. ):
  53. def __init__(self, stream, version=None, preserve_quotes=None):
  54. # type: (StreamTextType, Optional[VersionType], Optional[bool]) -> None
  55. # self.reader = Reader.__init__(self, stream)
  56. Reader.__init__(self, stream, loader=self)
  57. RoundTripScanner.__init__(self, loader=self)
  58. RoundTripParser.__init__(self, loader=self)
  59. Composer.__init__(self, loader=self)
  60. RoundTripConstructor.__init__(self, preserve_quotes=preserve_quotes, loader=self)
  61. VersionedResolver.__init__(self, version, loader=self)