MCPcopy Create free account
hub / github.com/ablab/spades / serialize_node

Method serialize_node

ext/src/python_libs/pyyaml3/serializer.py:78–110  ·  view source on GitHub ↗
(self, node, parent, index)

Source from the content-addressed store, hash-verified

76 return self.ANCHOR_TEMPLATE % self.last_anchor_id
77
78 def serialize_node(self, node, parent, index):
79 alias = self.anchors[node]
80 if node in self.serialized_nodes:
81 self.emit(AliasEvent(alias))
82 else:
83 self.serialized_nodes[node] = True
84 self.descend_resolver(parent, index)
85 if isinstance(node, ScalarNode):
86 detected_tag = self.resolve(ScalarNode, node.value, (True, False))
87 default_tag = self.resolve(ScalarNode, node.value, (False, True))
88 implicit = (node.tag == detected_tag), (node.tag == default_tag)
89 self.emit(ScalarEvent(alias, node.tag, implicit, node.value,
90 style=node.style))
91 elif isinstance(node, SequenceNode):
92 implicit = (node.tag
93 == self.resolve(SequenceNode, node.value, True))
94 self.emit(SequenceStartEvent(alias, node.tag, implicit,
95 flow_style=node.flow_style))
96 index = 0
97 for item in node.value:
98 self.serialize_node(item, node, index)
99 index += 1
100 self.emit(SequenceEndEvent())
101 elif isinstance(node, MappingNode):
102 implicit = (node.tag
103 == self.resolve(MappingNode, node.value, True))
104 self.emit(MappingStartEvent(alias, node.tag, implicit,
105 flow_style=node.flow_style))
106 for key, value in node.value:
107 self.serialize_node(key, node, None)
108 self.serialize_node(value, node, key)
109 self.emit(MappingEndEvent())
110 self.ascend_resolver()
111

Callers 1

serializeMethod · 0.95

Calls 10

AliasEventClass · 0.85
ScalarEventClass · 0.85
SequenceStartEventClass · 0.85
SequenceEndEventClass · 0.85
MappingStartEventClass · 0.85
MappingEndEventClass · 0.85
emitMethod · 0.80
descend_resolverMethod · 0.80
resolveMethod · 0.80
ascend_resolverMethod · 0.80

Tested by

no test coverage detected