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

Method parse_node

ext/src/python_libs/pyyaml3/parser.py:273–372  ·  view source on GitHub ↗
(self, block=False, indentless_sequence=False)

Source from the content-addressed store, hash-verified

271 return self.parse_node(block=True, indentless_sequence=True)
272
273 def parse_node(self, block=False, indentless_sequence=False):
274 if self.check_token(AliasToken):
275 token = self.get_token()
276 event = AliasEvent(token.value, token.start_mark, token.end_mark)
277 self.state = self.states.pop()
278 else:
279 anchor = None
280 tag = None
281 start_mark = end_mark = tag_mark = None
282 if self.check_token(AnchorToken):
283 token = self.get_token()
284 start_mark = token.start_mark
285 end_mark = token.end_mark
286 anchor = token.value
287 if self.check_token(TagToken):
288 token = self.get_token()
289 tag_mark = token.start_mark
290 end_mark = token.end_mark
291 tag = token.value
292 elif self.check_token(TagToken):
293 token = self.get_token()
294 start_mark = tag_mark = token.start_mark
295 end_mark = token.end_mark
296 tag = token.value
297 if self.check_token(AnchorToken):
298 token = self.get_token()
299 end_mark = token.end_mark
300 anchor = token.value
301 if tag is not None:
302 handle, suffix = tag
303 if handle is not None:
304 if handle not in self.tag_handles:
305 raise ParserError("while parsing a node", start_mark,
306 "found undefined tag handle %r" % handle,
307 tag_mark)
308 tag = self.tag_handles[handle]+suffix
309 else:
310 tag = suffix
311 #if tag == '!':
312 # raise ParserError("while parsing a node", start_mark,
313 # "found non-specific tag '!'", tag_mark,
314 # "Please check 'http://pyyaml.org/wiki/YAMLNonSpecificTag' and share your opinion.")
315 if start_mark is None:
316 start_mark = end_mark = self.peek_token().start_mark
317 event = None
318 implicit = (tag is None or tag == '!')
319 if indentless_sequence and self.check_token(BlockEntryToken):
320 end_mark = self.peek_token().end_mark
321 event = SequenceStartEvent(anchor, tag, implicit,
322 start_mark, end_mark)
323 self.state = self.parse_indentless_sequence_entry
324 else:
325 if self.check_token(ScalarToken):
326 token = self.get_token()
327 end_mark = token.end_mark
328 if (token.plain and tag is None) or tag == '!':
329 implicit = (True, False)
330 elif tag is None:

Callers 3

parse_block_nodeMethod · 0.95
parse_flow_nodeMethod · 0.95

Calls 9

AliasEventClass · 0.85
ParserErrorClass · 0.85
SequenceStartEventClass · 0.85
ScalarEventClass · 0.85
MappingStartEventClass · 0.85
check_tokenMethod · 0.80
get_tokenMethod · 0.80
peek_tokenMethod · 0.80
popMethod · 0.45

Tested by

no test coverage detected