dumper.py 6.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221
  1. # coding: utf-8
  2. from __future__ import absolute_import
  3. from ruamel.yaml.emitter import Emitter
  4. from ruamel.yaml.serializer import Serializer
  5. from ruamel.yaml.representer import (
  6. Representer,
  7. SafeRepresenter,
  8. BaseRepresenter,
  9. RoundTripRepresenter,
  10. )
  11. from ruamel.yaml.resolver import Resolver, BaseResolver, VersionedResolver
  12. if False: # MYPY
  13. from typing import Any, Dict, List, Union, Optional # NOQA
  14. from ruamel.yaml.compat import StreamType, VersionType # NOQA
  15. __all__ = ['BaseDumper', 'SafeDumper', 'Dumper', 'RoundTripDumper']
  16. class BaseDumper(Emitter, Serializer, BaseRepresenter, BaseResolver):
  17. def __init__(
  18. self,
  19. stream,
  20. default_style=None,
  21. default_flow_style=None,
  22. canonical=None,
  23. indent=None,
  24. width=None,
  25. allow_unicode=None,
  26. line_break=None,
  27. encoding=None,
  28. explicit_start=None,
  29. explicit_end=None,
  30. version=None,
  31. tags=None,
  32. block_seq_indent=None,
  33. top_level_colon_align=None,
  34. prefix_colon=None,
  35. ):
  36. # type: (Any, StreamType, Any, Any, Optional[bool], Optional[int], Optional[int], Optional[bool], Any, Any, Optional[bool], Optional[bool], Any, Any, Any, Any, Any) -> None # NOQA
  37. Emitter.__init__(
  38. self,
  39. stream,
  40. canonical=canonical,
  41. indent=indent,
  42. width=width,
  43. allow_unicode=allow_unicode,
  44. line_break=line_break,
  45. block_seq_indent=block_seq_indent,
  46. dumper=self,
  47. )
  48. Serializer.__init__(
  49. self,
  50. encoding=encoding,
  51. explicit_start=explicit_start,
  52. explicit_end=explicit_end,
  53. version=version,
  54. tags=tags,
  55. dumper=self,
  56. )
  57. BaseRepresenter.__init__(
  58. self,
  59. default_style=default_style,
  60. default_flow_style=default_flow_style,
  61. dumper=self,
  62. )
  63. BaseResolver.__init__(self, loadumper=self)
  64. class SafeDumper(Emitter, Serializer, SafeRepresenter, Resolver):
  65. def __init__(
  66. self,
  67. stream,
  68. default_style=None,
  69. default_flow_style=None,
  70. canonical=None,
  71. indent=None,
  72. width=None,
  73. allow_unicode=None,
  74. line_break=None,
  75. encoding=None,
  76. explicit_start=None,
  77. explicit_end=None,
  78. version=None,
  79. tags=None,
  80. block_seq_indent=None,
  81. top_level_colon_align=None,
  82. prefix_colon=None,
  83. ):
  84. # type: (StreamType, Any, Any, Optional[bool], Optional[int], Optional[int], Optional[bool], Any, Any, Optional[bool], Optional[bool], Any, Any, Any, Any, Any) -> None # NOQA
  85. Emitter.__init__(
  86. self,
  87. stream,
  88. canonical=canonical,
  89. indent=indent,
  90. width=width,
  91. allow_unicode=allow_unicode,
  92. line_break=line_break,
  93. block_seq_indent=block_seq_indent,
  94. dumper=self,
  95. )
  96. Serializer.__init__(
  97. self,
  98. encoding=encoding,
  99. explicit_start=explicit_start,
  100. explicit_end=explicit_end,
  101. version=version,
  102. tags=tags,
  103. dumper=self,
  104. )
  105. SafeRepresenter.__init__(
  106. self,
  107. default_style=default_style,
  108. default_flow_style=default_flow_style,
  109. dumper=self,
  110. )
  111. Resolver.__init__(self, loadumper=self)
  112. class Dumper(Emitter, Serializer, Representer, Resolver):
  113. def __init__(
  114. self,
  115. stream,
  116. default_style=None,
  117. default_flow_style=None,
  118. canonical=None,
  119. indent=None,
  120. width=None,
  121. allow_unicode=None,
  122. line_break=None,
  123. encoding=None,
  124. explicit_start=None,
  125. explicit_end=None,
  126. version=None,
  127. tags=None,
  128. block_seq_indent=None,
  129. top_level_colon_align=None,
  130. prefix_colon=None,
  131. ):
  132. # type: (StreamType, Any, Any, Optional[bool], Optional[int], Optional[int], Optional[bool], Any, Any, Optional[bool], Optional[bool], Any, Any, Any, Any, Any) -> None # NOQA
  133. Emitter.__init__(
  134. self,
  135. stream,
  136. canonical=canonical,
  137. indent=indent,
  138. width=width,
  139. allow_unicode=allow_unicode,
  140. line_break=line_break,
  141. block_seq_indent=block_seq_indent,
  142. dumper=self,
  143. )
  144. Serializer.__init__(
  145. self,
  146. encoding=encoding,
  147. explicit_start=explicit_start,
  148. explicit_end=explicit_end,
  149. version=version,
  150. tags=tags,
  151. dumper=self,
  152. )
  153. Representer.__init__(
  154. self,
  155. default_style=default_style,
  156. default_flow_style=default_flow_style,
  157. dumper=self,
  158. )
  159. Resolver.__init__(self, loadumper=self)
  160. class RoundTripDumper(Emitter, Serializer, RoundTripRepresenter, VersionedResolver):
  161. def __init__(
  162. self,
  163. stream,
  164. default_style=None,
  165. default_flow_style=None,
  166. canonical=None,
  167. indent=None,
  168. width=None,
  169. allow_unicode=None,
  170. line_break=None,
  171. encoding=None,
  172. explicit_start=None,
  173. explicit_end=None,
  174. version=None,
  175. tags=None,
  176. block_seq_indent=None,
  177. top_level_colon_align=None,
  178. prefix_colon=None,
  179. ):
  180. # type: (StreamType, Any, Optional[bool], Optional[int], Optional[int], Optional[int], Optional[bool], Any, Any, Optional[bool], Optional[bool], Any, Any, Any, Any, Any) -> None # NOQA
  181. Emitter.__init__(
  182. self,
  183. stream,
  184. canonical=canonical,
  185. indent=indent,
  186. width=width,
  187. allow_unicode=allow_unicode,
  188. line_break=line_break,
  189. block_seq_indent=block_seq_indent,
  190. top_level_colon_align=top_level_colon_align,
  191. prefix_colon=prefix_colon,
  192. dumper=self,
  193. )
  194. Serializer.__init__(
  195. self,
  196. encoding=encoding,
  197. explicit_start=explicit_start,
  198. explicit_end=explicit_end,
  199. version=version,
  200. tags=tags,
  201. dumper=self,
  202. )
  203. RoundTripRepresenter.__init__(
  204. self,
  205. default_style=default_style,
  206. default_flow_style=default_flow_style,
  207. dumper=self,
  208. )
  209. VersionedResolver.__init__(self, loader=self)