/
usr
/
lib64
/
python2.6
/
site-packages
/
yaml
/
/usr/lib64/python2.6/site-packages/yaml
mkdir
upload
Name
Size
Mode
Actions
composer.py
4921
0644
edit
dl
rm
composer.pyc
4573
0644
edit
dl
rm
composer.pyo
4573
0644
edit
dl
rm
constructor.py
25145
0644
edit
dl
rm
constructor.pyc
22158
0644
edit
dl
rm
constructor.pyo
22158
0644
edit
dl
rm
cyaml.py
3290
0644
edit
dl
rm
cyaml.pyc
3814
0644
edit
dl
rm
cyaml.pyo
3814
0644
edit
dl
rm
dumper.py
2719
0644
edit
dl
rm
dumper.pyc
2567
0644
edit
dl
rm
dumper.pyo
2567
0644
edit
dl
rm
emitter.py
43298
0644
edit
dl
rm
emitter.pyc
32589
0644
edit
dl
rm
emitter.pyo
32589
0644
edit
dl
rm
error.py
2559
0644
edit
dl
rm
error.pyc
2996
0644
edit
dl
rm
error.pyo
2996
0644
edit
dl
rm
events.py
2445
0644
edit
dl
rm
events.pyc
4979
0644
edit
dl
rm
events.pyo
4979
0644
edit
dl
rm
loader.py
1132
0644
edit
dl
rm
loader.pyc
1890
0644
edit
dl
rm
loader.pyo
1890
0644
edit
dl
rm
nodes.py
1440
0644
edit
dl
rm
nodes.pyc
2186
0644
edit
dl
rm
nodes.pyo
2186
0644
edit
dl
rm
parser.py
25542
0644
edit
dl
rm
parser.pyc
14866
0644
edit
dl
rm
parser.pyo
14802
0644
edit
dl
rm
reader.py
6746
0644
edit
dl
rm
reader.pyc
5645
0644
edit
dl
rm
reader.pyo
5645
0644
edit
dl
rm
representer.py
17642
0644
edit
dl
rm
representer.pyc
14808
0644
edit
dl
rm
representer.pyo
14808
0644
edit
dl
rm
resolver.py
8972
0644
edit
dl
rm
resolver.pyc
6734
0644
edit
dl
rm
resolver.pyo
6734
0644
edit
dl
rm
scanner.py
52630
0644
edit
dl
rm
scanner.pyc
33572
0644
edit
dl
rm
scanner.pyo
33526
0644
edit
dl
rm
serializer.py
4171
0644
edit
dl
rm
serializer.pyc
4367
0644
edit
dl
rm
serializer.pyo
4367
0644
edit
dl
rm
tokens.py
2573
0644
edit
dl
rm
tokens.pyc
6528
0644
edit
dl
rm
tokens.pyo
6528
0644
edit
dl
rm
__init__.py
9776
0644
edit
dl
rm
__init__.pyc
11453
0644
edit
dl
rm
__init__.pyo
11453
0644
edit
dl
rm
Edit:
/usr/lib64/python2.6/site-packages/yaml/composer.py
(4921B)
__all__ = ['Composer', 'ComposerError'] from error import MarkedYAMLError from events import * from nodes import * class ComposerError(MarkedYAMLError): pass class Composer(object): def __init__(self): self.anchors = {} def check_node(self): # Drop the STREAM-START event. if self.check_event(StreamStartEvent): self.get_event() # If there are more documents available? return not self.check_event(StreamEndEvent) def get_node(self): # Get the root node of the next document. if not self.check_event(StreamEndEvent): return self.compose_document() def get_single_node(self): # Drop the STREAM-START event. self.get_event() # Compose a document if the stream is not empty. document = None if not self.check_event(StreamEndEvent): document = self.compose_document() # Ensure that the stream contains no more documents. if not self.check_event(StreamEndEvent): event = self.get_event() raise ComposerError("expected a single document in the stream", document.start_mark, "but found another document", event.start_mark) # Drop the STREAM-END event. self.get_event() return document def compose_document(self): # Drop the DOCUMENT-START event. self.get_event() # Compose the root node. node = self.compose_node(None, None) # Drop the DOCUMENT-END event. self.get_event() self.anchors = {} return node def compose_node(self, parent, index): if self.check_event(AliasEvent): event = self.get_event() anchor = event.anchor if anchor not in self.anchors: raise ComposerError(None, None, "found undefined alias %r" % anchor.encode('utf-8'), event.start_mark) return self.anchors[anchor] event = self.peek_event() anchor = event.anchor if anchor is not None: if anchor in self.anchors: raise ComposerError("found duplicate anchor %r; first occurence" % anchor.encode('utf-8'), self.anchors[anchor].start_mark, "second occurence", event.start_mark) self.descend_resolver(parent, index) if self.check_event(ScalarEvent): node = self.compose_scalar_node(anchor) elif self.check_event(SequenceStartEvent): node = self.compose_sequence_node(anchor) elif self.check_event(MappingStartEvent): node = self.compose_mapping_node(anchor) self.ascend_resolver() return node def compose_scalar_node(self, anchor): event = self.get_event() tag = event.tag if tag is None or tag == u'!': tag = self.resolve(ScalarNode, event.value, event.implicit) node = ScalarNode(tag, event.value, event.start_mark, event.end_mark, style=event.style) if anchor is not None: self.anchors[anchor] = node return node def compose_sequence_node(self, anchor): start_event = self.get_event() tag = start_event.tag if tag is None or tag == u'!': tag = self.resolve(SequenceNode, None, start_event.implicit) node = SequenceNode(tag, [], start_event.start_mark, None, flow_style=start_event.flow_style) if anchor is not None: self.anchors[anchor] = node index = 0 while not self.check_event(SequenceEndEvent): node.value.append(self.compose_node(node, index)) index += 1 end_event = self.get_event() node.end_mark = end_event.end_mark return node def compose_mapping_node(self, anchor): start_event = self.get_event() tag = start_event.tag if tag is None or tag == u'!': tag = self.resolve(MappingNode, None, start_event.implicit) 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() 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) item_value = self.compose_node(node, item_key) #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
Save
cmd:
run