Obtendo chaves duplicadas no YAML usando Python
Precisamos analisar arquivos YAML que contêm chaves duplicadas e todos eles precisam ser analisados. Não é suficiente pular duplicatas. Eu sei que isso é contra a especificação YAML e eu gostaria de não ter que fazer isso, mas uma ferramenta de terceiros usada por nós permite esse uso e precisamos lidar com isso.
Exemplo de arquivo:
build:
step: 'step1'
build:
step: 'step2'
Após a análise, devemos ter uma estrutura de dados semelhante a esta:
yaml.load('file.yml')
# [('build', [('step', 'step1')]), ('build', [('step', 'step2')])]
dict
não pode mais ser usado para representar o conteúdo analisado.
Estou procurando uma solução em Python e não encontrei uma biblioteca compatível com isso, perdi alguma coisa?
Como alternativa, fico feliz em escrever minhas coisas, mas gostaria de torná-las o mais simples possível.ruamel.yaml
se parece com o analisador YAML mais avançado do Python e parece moderadamente extensível, pode ser estendido para oferecer suporte a campos duplicados?