def open(self): if self.closed isNone:
self.emit(StreamStartEvent(encoding=self.use_encoding))
self.closed = False elif self.closed: raise SerializerError("serializer is closed") else: raise SerializerError("serializer is already opened")
def close(self): if self.closed isNone: raise SerializerError("serializer is not opened") elifnot self.closed:
self.emit(StreamEndEvent())
self.closed = True
#def __del__(self): # self.close()
def serialize(self, node): if self.closed isNone: raise SerializerError("serializer is not opened") elif self.closed: raise SerializerError("serializer is closed")
self.emit(DocumentStartEvent(explicit=self.use_explicit_start,
version=self.use_version, tags=self.use_tags))
self.anchor_node(node)
self.serialize_node(node, None, None)
self.emit(DocumentEndEvent(explicit=self.use_explicit_end))
self.serialized_nodes = {}
self.anchors = {}
self.last_anchor_id = 0
def anchor_node(self, node): if node in self.anchors: if self.anchors[node] isNone:
self.anchors[node] = self.generate_anchor(node) else:
self.anchors[node] = None if isinstance(node, SequenceNode): for item in node.value:
self.anchor_node(item) elif isinstance(node, MappingNode): for key, value in node.value:
self.anchor_node(key)
self.anchor_node(value)
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.