summaryrefslogtreecommitdiff
path: root/main.py
diff options
context:
space:
mode:
authorAnthon van der Neut <anthon@mnt.org>2021-05-06 08:36:49 +0200
committerAnthon van der Neut <anthon@mnt.org>2021-05-06 08:36:49 +0200
commit17b35c376fd0fc9a94ba0adfdbf5bf63a6177dc9 (patch)
tree49a76a7328cbc20efde9603d5373ecf003adbbc6 /main.py
parent3d77f16e00124b74e150625396617b41e41da014 (diff)
downloadruamel.yaml-17b35c376fd0fc9a94ba0adfdbf5bf63a6177dc9.tar.gz
* extend EOL token handling
* extending comment
Diffstat (limited to 'main.py')
-rw-r--r--main.py19
1 files changed, 14 insertions, 5 deletions
diff --git a/main.py b/main.py
index 7d2f177..e19f28c 100644
--- a/main.py
+++ b/main.py
@@ -31,6 +31,7 @@ from ruamel.yaml.constructor import (
RoundTripConstructor,
)
from ruamel.yaml.loader import Loader as UnsafeLoader
+from ruamel.yaml.comments import CommentedMap, CommentedSeq, C_PRE
if False: # MYPY
from typing import List, Set, Dict, Union, Any, Callable, Optional, Text # NOQA
@@ -81,6 +82,7 @@ class YAML:
self.Scanner = None # type: Any
self.Serializer = None # type: Any
self.default_flow_style = None # type: Any
+ self.comment_handling = None
typ_found = 1
setup_rt = False
if 'rt' in self.typ:
@@ -107,6 +109,18 @@ class YAML:
self.Parser = ruamel.yaml.parser.Parser if pure or CParser is None else CParser
self.Composer = ruamel.yaml.composer.Composer
self.Constructor = ruamel.yaml.constructor.Constructor
+ elif 'rtsc' in self.typ:
+ self.default_flow_style = False
+ # no optimized rt-dumper yet
+ self.Emitter = ruamel.yaml.emitter.Emitter
+ self.Serializer = ruamel.yaml.serializer.Serializer
+ self.Representer = ruamel.yaml.representer.RoundTripRepresenter
+ self.Scanner = ruamel.yaml.scanner.RoundTripScannerSC
+ # no optimized rt-parser yet
+ self.Parser = ruamel.yaml.parser.RoundTripParserSC
+ self.Composer = ruamel.yaml.composer.Composer
+ self.Constructor = ruamel.yaml.constructor.RoundTripConstructor
+ self.comment_handling = C_PRE
else:
setup_rt = True
typ_found = 0
@@ -150,7 +164,6 @@ class YAML:
self.scalar_after_indicator = None
# [a, b: 1, c: {d: 2}] vs. [a, {b: 1}, {c: {d: 2}}]
self.brace_single_entry_mapping_in_flow_sequence = False
- self.comment_handling = None
for module in self.plug_ins:
if getattr(module, 'typ', None) in self.typ:
typ_found += 1
@@ -711,8 +724,6 @@ class YAML:
def map(self, **kw):
# type: (Any) -> Any
if 'rt' in self.typ:
- from ruamel.yaml.comments import CommentedMap
-
return CommentedMap(**kw)
else:
return dict(**kw)
@@ -720,8 +731,6 @@ class YAML:
def seq(self, *args):
# type: (Any) -> Any
if 'rt' in self.typ:
- from ruamel.yaml.comments import CommentedSeq
-
return CommentedSeq(*args)
else:
return list(*args)