/opt/alt/python27/lib64/python2.7/site-packages/yaml
NameSizeModeActions
composer.py49210644editdlrm
composer.pyc46840644editdlrm
composer.pyo47290644editdlrm
constructor.py251450644editdlrm
constructor.pyc225440644editdlrm
constructor.pyo227950644editdlrm
cyaml.py32900644editdlrm
cyaml.pyc39830644editdlrm
cyaml.pyo39830644editdlrm
dumper.py27190644editdlrm
dumper.pyc26580644editdlrm
dumper.pyo26580644editdlrm
emitter.py432980644editdlrm
emitter.pyc327820644editdlrm
emitter.pyo334210644editdlrm
error.py25590644editdlrm
error.pyc30800644editdlrm
error.pyo31130644editdlrm
events.py24450644editdlrm
events.pyc52390644editdlrm
events.pyo52780644editdlrm
loader.py11320644editdlrm
loader.pyc19810644editdlrm
loader.pyo19810644editdlrm
nodes.py14400644editdlrm
nodes.pyc23160644editdlrm
nodes.pyo23160644editdlrm
parser.py255420644editdlrm
parser.pyc151530644editdlrm
parser.pyo152440644editdlrm
reader.py67460644editdlrm
reader.pyc57720644editdlrm
reader.pyo58270644editdlrm
representer.py176420644editdlrm
representer.pyc151710644editdlrm
representer.pyo153150644editdlrm
resolver.py89720644editdlrm
resolver.pyc67770644editdlrm
resolver.pyo68770644editdlrm
scanner.py526300644editdlrm
scanner.pyc340440644editdlrm
scanner.pyo345140644editdlrm
serializer.py41710644editdlrm
serializer.pyc44610644editdlrm
serializer.pyo44970644editdlrm
tokens.py25730644editdlrm
tokens.pyc68790644editdlrm
tokens.pyo69180644editdlrm
__init__.py97760644editdlrm
__init__.pyc117610644editdlrm
__init__.pyo118040644editdlrm
Edit: /opt/alt/python27/lib64/python2.7/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