def marked_load(self, stream):
def construct_mapping(loader, node):
keys = [node_tuple[0].value for node_tuple in node.value]
for item, count in Counter(keys).items():
if count > 1:
key_nodes = [node_tuple[0] for node_tuple in node.value if node_tuple[0].value == item]
self.warning('%s occurs %s times, at %s' % (item, count, ' and '.join(['line %s, column %s' % (key_node.start_mark.line + 1, key_node.start_mark.column + 1) for key_node in key_nodes])))
loader.flatten_mapping(node)
return PresortedOrderedDict(loader.construct_pairs(node))
MarkedLoader.add_constructor(
Resolver.DEFAULT_MAPPING_TAG,
construct_mapping)
return MarkedLoader(stream).get_single_data()
评论列表
文章目录