diff options
author | Anthon van der Neut <anthon@mnt.org> | 2016-10-28 15:42:15 +0200 |
---|---|---|
committer | Anthon van der Neut <anthon@mnt.org> | 2016-10-28 15:42:15 +0200 |
commit | cbbe40b4246fab799886078136d959e112fc60f0 (patch) | |
tree | fb22e0069108f50fc88dca79c4370aa4c3224961 | |
parent | 6edb229b01177b9599c269ecf7588e89c0105b3a (diff) | |
download | ruamel.yaml-cbbe40b4246fab799886078136d959e112fc60f0.tar.gz |
Fix for issue #70 no preserve_quotes on _load_all0.12.15
-rw-r--r-- | __init__.py | 2 | ||||
-rw-r--r-- | _test/test_yamlfile.py | 15 | ||||
-rw-r--r-- | main.py | 4 | ||||
-rw-r--r-- | representer.py | 1 |
4 files changed, 19 insertions, 3 deletions
diff --git a/__init__.py b/__init__.py index 15142b6..61068d6 100644 --- a/__init__.py +++ b/__init__.py @@ -9,7 +9,7 @@ from __future__ import absolute_import _package_data = dict( full_package_name="ruamel.yaml", - version_info=(0, 12, 14), + version_info=(0, 12, 15), author="Anthon van der Neut", author_email="a.van.der.neut@ruamel.eu", description="ruamel.yaml is a YAML parser/emitter that supports roundtrip preservation of comments, seq/map flow style, and map key order", # NOQA diff --git a/_test/test_yamlfile.py b/_test/test_yamlfile.py index 9b224b8..e7e31ca 100644 --- a/_test/test_yamlfile.py +++ b/_test/test_yamlfile.py @@ -192,3 +192,18 @@ class TestYAML: round_trip(s) assert d['c'][0].split('it.')[1] == '' assert d['c'][1].split('line.')[1] == '' + + def test_load_all_perserve_quotes(self): + s = dedent("""\ + a: 'hello' + --- + b: "goodbye" + """) + data = [] + for x in ruamel.yaml.round_trip_load_all(s, preserve_quotes=True): + data.append(x) + out = ruamel.yaml.dump_all(data, Dumper=ruamel.yaml.RoundTripDumper) + print(type(data[0]['a']), data[0]['a']) + # out = ruamel.yaml.round_trip_dump_all(data) + print(out) + assert out == s @@ -83,12 +83,12 @@ def load(stream, Loader=Loader, version=None, preserve_quotes=None): loader.dispose() -def load_all(stream, Loader=Loader, version=None): +def load_all(stream, Loader=Loader, version=None, preserve_quotes=None): """ Parse all YAML documents in a stream and produce corresponding Python objects. """ - loader = Loader(stream, version) + loader = Loader(stream, version, preserve_quotes=preserve_quotes) try: while loader.check_data(): yield loader.get_data() diff --git a/representer.py b/representer.py index 8fcbc7c..77a3f59 100644 --- a/representer.py +++ b/representer.py @@ -660,6 +660,7 @@ class RoundTripRepresenter(SafeRepresenter): def represent_key(self, data): if isinstance(data, CommentedKeySeq): + self.alias_key = None return self.represent_sequence(u'tag:yaml.org,2002:seq', data, flow_style=True) return SafeRepresenter.represent_key(self, data) |