summaryrefslogtreecommitdiff
path: root/lib/yaml/composer.py
diff options
context:
space:
mode:
Diffstat (limited to 'lib/yaml/composer.py')
-rw-r--r--lib/yaml/composer.py15
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