diff options
-rw-r--r-- | __init__.py | 2 | ||||
-rw-r--r-- | dumper.py | 4 | ||||
-rw-r--r-- | representer.py | 2 | ||||
-rw-r--r-- | resolver.py | 6 | ||||
-rw-r--r-- | serializer.py | 2 | ||||
-rw-r--r-- | setup.py | 5 |
6 files changed, 15 insertions, 6 deletions
diff --git a/__init__.py b/__init__.py index 9535493..5e96205 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, 11, 8, "dev"), + version_info=(0, 11, 8), 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 @@ -76,7 +76,7 @@ class Dumper(Emitter, Serializer, Representer, Resolver): Resolver.__init__(self) -class RoundTripDumper(Emitter, Serializer, RoundTripRepresenter, Resolver): +class RoundTripDumper(Emitter, Serializer, RoundTripRepresenter, VersionedResolver): def __init__(self, stream, default_style=None, default_flow_style=None, canonical=None, indent=None, width=None, @@ -93,4 +93,4 @@ class RoundTripDumper(Emitter, Serializer, RoundTripRepresenter, Resolver): version=version, tags=tags) RoundTripRepresenter.__init__(self, default_style=default_style, default_flow_style=default_flow_style) - Resolver.__init__(self) + VersionedResolver.__init__(self) diff --git a/representer.py b/representer.py index 9d471a2..7c2b778 100644 --- a/representer.py +++ b/representer.py @@ -822,7 +822,7 @@ class RoundTripRepresenter(SafeRepresenter): return node def represent_dict(self, data): - """write out tag if safed on loading""" + """write out tag if saved on loading""" t = data.tag.value if t: while t and t[0] == '!': diff --git a/resolver.py b/resolver.py index 9ef413d..8422707 100644 --- a/resolver.py +++ b/resolver.py @@ -385,7 +385,11 @@ class VersionedResolver(BaseResolver): @property def processing_version(self): - version = self.yaml_version + try: + version = self.yaml_version + except AttributeError: + # dumping + version = self.use_version if version is None: version = self._loader_version if version is None: diff --git a/serializer.py b/serializer.py index 317cf4e..7c6fcaa 100644 --- a/serializer.py +++ b/serializer.py @@ -116,6 +116,8 @@ class Serializer(object): self.serialized_nodes[node] = True self.descend_resolver(parent, index) if isinstance(node, ScalarNode): + # here check if the node.tag equals the one that would result from parsing + # if not equal quoting is necessary for strings detected_tag = self.resolve(ScalarNode, node.value, (True, False)) default_tag = self.resolve(ScalarNode, node.value, (False, True)) implicit = (node.tag == detected_tag), (node.tag == default_tag) @@ -1,7 +1,7 @@ # # header # coding: utf-8 -from __future__ import print_function, absolute_import, division +from __future__ import print_function, absolute_import, division, unicode_literals # # __init__.py parser @@ -284,6 +284,9 @@ class NameSpacePackager(object): x = os.path.join(d, '__init__.py') if os.path.exists(x): self._split.append(self.full_package_name + '.' + d) + if sys.version_info < (3, ): + self._split = [(y.encode('utf-8') if isinstance(y, unicode) else y) + for y in self._split] return self._split @property |