diff options
Diffstat (limited to 'lib/yaml/composer.py')
-rw-r--r-- | lib/yaml/composer.py | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/lib/yaml/composer.py b/lib/yaml/composer.py index ed27dfb..1e380f4 100644 --- a/lib/yaml/composer.py +++ b/lib/yaml/composer.py @@ -8,7 +8,7 @@ from nodes import * class ComposerError(MarkedYAMLError): pass -class Composer: +class Composer(object): def __init__(self): self.anchors = {} @@ -99,19 +99,20 @@ class Composer: tag = start_event.tag if tag is None or tag == u'!': tag = self.resolve(MappingNode, None, start_event.implicit) - node = MappingNode(tag, {}, + node = MappingNode(tag, [], start_event.start_mark, None, flow_style=start_event.flow_style) if anchor is not None: self.anchors[anchor] = node while not self.check_event(MappingEndEvent): - key_event = self.peek_event() + #key_event = self.peek_event() item_key = self.compose_node(node, None) - if item_key in node.value: - raise ComposerError("while composing a mapping", start_event.start_mark, - "found duplicate key", key_event.start_mark) + #if item_key in node.value: + # raise ComposerError("while composing a mapping", start_event.start_mark, + # "found duplicate key", key_event.start_mark) item_value = self.compose_node(node, item_key) - node.value[item_key] = item_value + #node.value[item_key] = item_value + node.value.append((item_key, item_value)) end_event = self.get_event() node.end_mark = end_event.end_mark return node |