Conclusão do script Python Gerador ARK
This commit is contained in:
parent
0e5f1d3467
commit
5a3688abf7
134
ark_lista.yml
134
ark_lista.yml
@ -1,202 +1,178 @@
|
|||||||
"68745/eM485":
|
68745/eM485:
|
||||||
título: Dicionários de Significados Alterados
|
título: Dicionários de Significados Alterados
|
||||||
formato: Coleção de Livros Digitais (online) com Volumes também em Versões Impressas
|
formato: Coleção de Livros Digitais (online) com Volumes também em Versões Impressas
|
||||||
autor: Wagner Azevedo
|
autor: Wagner Azevedo
|
||||||
link_metadados: https://ark.livro.online/ark_dp_68745_b_eM485.yml
|
link_metadados: https://ark.livro.online/ark_dp_68745_b_eM485.yml
|
||||||
|
68745/eM485/B6:
|
||||||
"68745/eM485/B6":
|
|
||||||
título: Dicionário de Plantas com Outros Significados
|
título: Dicionário de Plantas com Outros Significados
|
||||||
formato: Livro Digital (online)
|
formato: Livro Digital (online)
|
||||||
autor: Wagner Azevedo
|
autor: Wagner Azevedo
|
||||||
link_metadados: https://ark.livro.online/ark_dp_68745_b_eM485_b_B6.yml
|
link_metadados: https://ark.livro.online/ark_dp_68745_b_eM485_b_B6.yml
|
||||||
|
68745/eM485/B6.NT:
|
||||||
"68745/eM485/B6.NT":
|
|
||||||
título: Dicionário de Plantas com Outros Significados
|
título: Dicionário de Plantas com Outros Significados
|
||||||
formato: Livro Impresso
|
formato: Livro Impresso
|
||||||
autor: Wagner Azevedo
|
autor: Wagner Azevedo
|
||||||
link_metadados: https://ark.livro.online/ark_dp_68745_b_eM485_b_B6_p_NT.yml
|
link_metadados: https://ark.livro.online/ark_dp_68745_b_eM485_b_B6_p_NT.yml
|
||||||
|
68745/eM485/33:
|
||||||
"68745/eM485/33":
|
título: Dicionário de Números com Outros Significados
|
||||||
título : "Dicionário de Números com Outros Significados"
|
|
||||||
formato: Livro Digital (online)
|
formato: Livro Digital (online)
|
||||||
autor: Wagner Azevedo
|
autor: Wagner Azevedo
|
||||||
link_metadados: https://ark.livro.online/ark_dp_68745_b_eM485_b_33.yml
|
link_metadados: https://ark.livro.online/ark_dp_68745_b_eM485_b_33.yml
|
||||||
|
68745/eM485/33.37:
|
||||||
"68745/eM485/33.37":
|
título: Dicionário de Números com Outros Significados
|
||||||
título : "Dicionário de Números com Outros Significados"
|
|
||||||
formato: Livro Impresso
|
formato: Livro Impresso
|
||||||
autor: Wagner Azevedo
|
autor: Wagner Azevedo
|
||||||
link_metadados: https://ark.livro.online/ark_dp_68745_b_eM485_b_33_p_37.yml
|
link_metadados: https://ark.livro.online/ark_dp_68745_b_eM485_b_33_p_37.yml
|
||||||
|
68745/eMR8J.4N:
|
||||||
"68745/eMR8J.4N":
|
título: As funções trigonométricas circulares e hiperbólicas
|
||||||
título: "As funções trigonométricas circulares e hiperbólicas"
|
|
||||||
formato: Livro Impresso
|
formato: Livro Impresso
|
||||||
autor: Sandro Marcos Guzzo
|
autor: Sandro Marcos Guzzo
|
||||||
link_metadados: https://ark.livro.online/ark_dp_68745_b_eMR8J_p_4N.yml
|
link_metadados: https://ark.livro.online/ark_dp_68745_b_eMR8J_p_4N.yml
|
||||||
|
68745/eMR8J:
|
||||||
"68745/eMR8J":
|
|
||||||
título: As funções trigonométricas circulares e hiperbólicas
|
título: As funções trigonométricas circulares e hiperbólicas
|
||||||
formato: Livro Digital (online)
|
formato: Livro Digital (online)
|
||||||
autor: Sandro Marcos Guzzo
|
autor: Sandro Marcos Guzzo
|
||||||
link_metadados: https://ark.livro.online/ark_dp_68745_b_eMR8J.yml
|
link_metadados: https://ark.livro.online/ark_dp_68745_b_eMR8J.yml
|
||||||
|
68745/eMPTN.f7:
|
||||||
"68745/eMPTN.f7":
|
título: 'As fábulas: O lobo e o cordeiro, A raposa e as uvas'
|
||||||
título: "As fábulas: O lobo e o cordeiro, A raposa e as uvas"
|
|
||||||
formato: Livro Impresso
|
formato: Livro Impresso
|
||||||
autor: Padre Marcos André, Márcio Moitinha
|
autor: Padre Marcos André, Márcio Moitinha
|
||||||
link_metadados: https://ark.livro.online/ark_dp_68745_b_eMPTN_p_f7.yml
|
link_metadados: https://ark.livro.online/ark_dp_68745_b_eMPTN_p_f7.yml
|
||||||
|
68745/eMPTN:
|
||||||
"68745/eMPTN":
|
título: 'As fábulas: O lobo e o cordeiro, A raposa e as uvas'
|
||||||
título: "As fábulas: O lobo e o cordeiro, A raposa e as uvas"
|
|
||||||
formato: Livro Digital (online)
|
formato: Livro Digital (online)
|
||||||
autor: Padre Marcos André, Márcio Moitinha
|
autor: Padre Marcos André, Márcio Moitinha
|
||||||
link_metadados: https://ark.livro.online/ark_dp_68745_b_eMPTN.yml
|
link_metadados: https://ark.livro.online/ark_dp_68745_b_eMPTN.yml
|
||||||
|
68745/eMdbp.tm:
|
||||||
"68745/eMdbp.tm":
|
título: 'Jean: entre jogos e brincadeiras'
|
||||||
título: "Jean: entre jogos e brincadeiras"
|
|
||||||
formato: Livro Impresso
|
formato: Livro Impresso
|
||||||
autor: Diullye Miola (Autora e organizadora), Demitry Wallace dos Santos (Autor e Ilustrador), Guilherme Bigilini, Gustavo Cosmo Rodrigues, Helena Sgarbi de Oliveira, Isabella de Morais Santos, João Pedro Miranda FernandesLucas Pietruszynski de Souza, Mariana Martins Meyer, Mateus Possa Tonini, Murilo Pompeu Brandalize Nascimento
|
autor: Diullye Miola (Autora e organizadora), Demitry Wallace dos Santos (Autor
|
||||||
|
e Ilustrador), Guilherme Bigilini, Gustavo Cosmo Rodrigues, Helena Sgarbi de Oliveira,
|
||||||
|
Isabella de Morais Santos, João Pedro Miranda FernandesLucas Pietruszynski de
|
||||||
|
Souza, Mariana Martins Meyer, Mateus Possa Tonini, Murilo Pompeu Brandalize Nascimento
|
||||||
link_metadados: https://ark.livro.online/ark_dp_68745_b_eMdbp_p_tm.yml
|
link_metadados: https://ark.livro.online/ark_dp_68745_b_eMdbp_p_tm.yml
|
||||||
|
68745/eMdbp:
|
||||||
"68745/eMdbp":
|
título: 'Jean: entre jogos e brincadeiras'
|
||||||
título: "Jean: entre jogos e brincadeiras"
|
|
||||||
formato: Livro Digital (online)
|
formato: Livro Digital (online)
|
||||||
autor: Diullye Miola (Autora e organizadora), Demitry Wallace dos Santos (Autor e Ilustrador), Guilherme Bigilini, Gustavo Cosmo Rodrigues, Helena Sgarbi de Oliveira, Isabella de Morais Santos, João Pedro Miranda FernandesLucas Pietruszynski de Souza, Mariana Martins Meyer, Mateus Possa Tonini, Murilo Pompeu Brandalize Nascimento
|
autor: Diullye Miola (Autora e organizadora), Demitry Wallace dos Santos (Autor
|
||||||
|
e Ilustrador), Guilherme Bigilini, Gustavo Cosmo Rodrigues, Helena Sgarbi de Oliveira,
|
||||||
|
Isabella de Morais Santos, João Pedro Miranda FernandesLucas Pietruszynski de
|
||||||
|
Souza, Mariana Martins Meyer, Mateus Possa Tonini, Murilo Pompeu Brandalize Nascimento
|
||||||
link_metadados: https://ark.livro.online/ark_dp_68745_b_eMdbp.yml
|
link_metadados: https://ark.livro.online/ark_dp_68745_b_eMdbp.yml
|
||||||
|
68745/eM37B/TM.nG:
|
||||||
"68745/eM37B/TM.nG":
|
|
||||||
título: Dicionário de Onomatopeias e Vocábulos Expressivos de Monteiro Lobato
|
título: Dicionário de Onomatopeias e Vocábulos Expressivos de Monteiro Lobato
|
||||||
formato: Livro Impresso
|
formato: Livro Impresso
|
||||||
autor: Wagner Azevedo
|
autor: Wagner Azevedo
|
||||||
link_metadados: https://ark.livro.online/ark_dp_68745_b_eM37B_b_TM_p_nG.yml
|
link_metadados: https://ark.livro.online/ark_dp_68745_b_eM37B_b_TM_p_nG.yml
|
||||||
|
68745/eM37B/TM:
|
||||||
"68745/eM37B/TM":
|
|
||||||
título: Dicionário de Onomatopeias e Vocábulos Expressivos de Monteiro Lobato
|
título: Dicionário de Onomatopeias e Vocábulos Expressivos de Monteiro Lobato
|
||||||
formato: Livro Digital (online)
|
formato: Livro Digital (online)
|
||||||
autor: Wagner Azevedo
|
autor: Wagner Azevedo
|
||||||
link_metadados: https://ark.livro.online/ark_dp_68745_b_eM37B_b_TM.yml
|
link_metadados: https://ark.livro.online/ark_dp_68745_b_eM37B_b_TM.yml
|
||||||
|
68745/eM37B/pM:
|
||||||
"68745/eM37B/pM":
|
|
||||||
título: Dicionário de Onomatopeias e Neologismos de Mário de Andrade
|
título: Dicionário de Onomatopeias e Neologismos de Mário de Andrade
|
||||||
formato: Livro Digital (online)
|
formato: Livro Digital (online)
|
||||||
autor: Wagner Azevedo
|
autor: Wagner Azevedo
|
||||||
link_metadados: https://ark.livro.online/ark_dp_68745_b_eM37B_b_pM.yml
|
link_metadados: https://ark.livro.online/ark_dp_68745_b_eM37B_b_pM.yml
|
||||||
|
68745/eM37B/pM.MG:
|
||||||
"68745/eM37B/pM.MG":
|
|
||||||
título: Dicionário de Onomatopeias e Neologismos de Mário de Andrade
|
título: Dicionário de Onomatopeias e Neologismos de Mário de Andrade
|
||||||
formato: Livro Impresso
|
formato: Livro Impresso
|
||||||
autor: Wagner Azevedo
|
autor: Wagner Azevedo
|
||||||
link_metadados: https://ark.livro.online/ark_dp_68745_b_eM37B_b_pM_p_MG.yml
|
link_metadados: https://ark.livro.online/ark_dp_68745_b_eM37B_b_pM_p_MG.yml
|
||||||
|
68745/eMNQM:
|
||||||
"68745/eMNQM":
|
|
||||||
título: Dicionário de Vocábulos Populares da Língua Portuguesa
|
título: Dicionário de Vocábulos Populares da Língua Portuguesa
|
||||||
formato: Livro Digital (online)
|
formato: Livro Digital (online)
|
||||||
autor: Wagner Azevedo
|
autor: Wagner Azevedo
|
||||||
link_metadados: https://ark.livro.online/ark_dp_68745_b_eMNQM.yml
|
link_metadados: https://ark.livro.online/ark_dp_68745_b_eMNQM.yml
|
||||||
|
68745/eMNQM.gm:
|
||||||
"68745/eMNQM.gm":
|
|
||||||
título: Dicionário de Vocábulos Populares da Língua Portuguesa
|
título: Dicionário de Vocábulos Populares da Língua Portuguesa
|
||||||
formato: Livro Impresso
|
formato: Livro Impresso
|
||||||
autor: Wagner Azevedo
|
autor: Wagner Azevedo
|
||||||
link_metadados: https://ark.livro.online/ark_dp_68745_b_eMNQM_p_gm.yml
|
link_metadados: https://ark.livro.online/ark_dp_68745_b_eMNQM_p_gm.yml
|
||||||
|
68745/eMm5p:
|
||||||
"68745/eMm5p":
|
|
||||||
título: Dicionário das 1000 Expressões Inéditas na Língua Portuguesa do Brasil
|
título: Dicionário das 1000 Expressões Inéditas na Língua Portuguesa do Brasil
|
||||||
formato: Livro Digital (online)
|
formato: Livro Digital (online)
|
||||||
autor: Wagner Azevedo
|
autor: Wagner Azevedo
|
||||||
link_metadados: https://ark.livro.online/ark_dp_68745_b_eMm5p.yml
|
link_metadados: https://ark.livro.online/ark_dp_68745_b_eMm5p.yml
|
||||||
|
68745/eMm5p.g4:
|
||||||
"68745/eMm5p.g4":
|
|
||||||
título: Dicionário das 1000 Expressões Ineddar na Língua Portuguesa do Brasil
|
título: Dicionário das 1000 Expressões Ineddar na Língua Portuguesa do Brasil
|
||||||
formato: Livro Impresso
|
formato: Livro Impresso
|
||||||
autor: Wagner Azevedo
|
autor: Wagner Azevedo
|
||||||
link_metadados: https://ark.livro.online/ark_dp_68745_b_eMm5p_p_g4.yml
|
link_metadados: https://ark.livro.online/ark_dp_68745_b_eMm5p_p_g4.yml
|
||||||
|
68745/eMMN2:
|
||||||
"68745/eMMN2":
|
|
||||||
título: Figuras de Linguagem
|
título: Figuras de Linguagem
|
||||||
formato: Coleção de Livros Digitais (online) com Volumes também em Versões Impressas
|
formato: Coleção de Livros Digitais (online) com Volumes também em Versões Impressas
|
||||||
autor: Wagner Azevedo
|
autor: Wagner Azevedo
|
||||||
link_metadados: https://ark.livro.online/ark_dp_68745_b_eMMN2.yml
|
link_metadados: https://ark.livro.online/ark_dp_68745_b_eMMN2.yml
|
||||||
|
68745/eMMN2/f6:
|
||||||
"68745/eMMN2/f6":
|
|
||||||
título: Dicionário de Pleonasmo
|
título: Dicionário de Pleonasmo
|
||||||
formato: Livro Digital (online)
|
formato: Livro Digital (online)
|
||||||
autor: Wagner Azevedo
|
autor: Wagner Azevedo
|
||||||
link_metadados: https://ark.livro.online/ark_dp_68745_b_eMMN2_b_f6.yml
|
link_metadados: https://ark.livro.online/ark_dp_68745_b_eMMN2_b_f6.yml
|
||||||
|
68745/eMMN2/f6.b9:
|
||||||
"68745/eMMN2/f6.b9":
|
|
||||||
título: Dicionário de Pleonasmo
|
título: Dicionário de Pleonasmo
|
||||||
formato: Livro Impresso
|
formato: Livro Impresso
|
||||||
autor: Wagner Azevedo
|
autor: Wagner Azevedo
|
||||||
link_metadados: https://ark.livro.online/ark_dp_68745_b_eMMN2_b_f6_p_b9.yml
|
link_metadados: https://ark.livro.online/ark_dp_68745_b_eMMN2_b_f6_p_b9.yml
|
||||||
|
68745/eMMN2/TD:
|
||||||
"68745/eMMN2/TD":
|
|
||||||
título: Dicionário de Antanáclases
|
título: Dicionário de Antanáclases
|
||||||
formato: Livro Digital (online)
|
formato: Livro Digital (online)
|
||||||
autor: Wagner Azevedo
|
autor: Wagner Azevedo
|
||||||
link_metadados: https://ark.livro.online/ark_dp_68745_b_eMMN2_b_TD.yml
|
link_metadados: https://ark.livro.online/ark_dp_68745_b_eMMN2_b_TD.yml
|
||||||
|
68745/eMMN2/TD.qR:
|
||||||
"68745/eMMN2/TD.qR":
|
|
||||||
título: Dicionário de Antanáclases
|
título: Dicionário de Antanáclases
|
||||||
formato: Livro Impresso
|
formato: Livro Impresso
|
||||||
autor: Wagner Azevedo
|
autor: Wagner Azevedo
|
||||||
link_metadados: https://ark.livro.online/ark_dp_68745_b_eMMN2_b_TD_p_qR.yml
|
link_metadados: https://ark.livro.online/ark_dp_68745_b_eMMN2_b_TD_p_qR.yml
|
||||||
|
68745/eMMN2/DB:
|
||||||
"68745/eMMN2/DB":
|
|
||||||
título: Dicionário de Antonomásia
|
título: Dicionário de Antonomásia
|
||||||
formato: Livro Digital (online)
|
formato: Livro Digital (online)
|
||||||
autor: Wagner Azevedo
|
autor: Wagner Azevedo
|
||||||
link_metadados: https://ark.livro.online/ark_dp_68745_b_eMMN2_b_DB.yml
|
link_metadados: https://ark.livro.online/ark_dp_68745_b_eMMN2_b_DB.yml
|
||||||
|
68745/eMMN2/DB.n4:
|
||||||
"68745/eMMN2/DB.n4":
|
|
||||||
título: Dicionário de Antonomásia
|
título: Dicionário de Antonomásia
|
||||||
formato: Livro Impresso
|
formato: Livro Impresso
|
||||||
autor: Wagner Azevedo
|
autor: Wagner Azevedo
|
||||||
link_metadados: https://ark.livro.online/ark_dp_68745_b_eMMN2_b_DB_p_n4.yml
|
link_metadados: https://ark.livro.online/ark_dp_68745_b_eMMN2_b_DB_p_n4.yml
|
||||||
|
68745/eM37B:
|
||||||
"68745/eM37B":
|
|
||||||
título: Escritores Brasileiros
|
título: Escritores Brasileiros
|
||||||
formato: Coleção de Livros Digitais (online) com Volumes também em Versões Impressas
|
formato: Coleção de Livros Digitais (online) com Volumes também em Versões Impressas
|
||||||
autor: Wagner Azevedo
|
autor: Wagner Azevedo
|
||||||
link_metadados: https://ark.livro.online/ark_dp_68745_b_eM37B.yml
|
link_metadados: https://ark.livro.online/ark_dp_68745_b_eM37B.yml
|
||||||
|
68745/eM37b/qQ:
|
||||||
"68745/eM37b/qQ":
|
título: Dicionário de Onomatopeias e Vocábulos Expressivos de Carlos Drummond de
|
||||||
título: Dicionário de Onomatopeias e Vocábulos Expressivos de Carlos Drummond de Andrade
|
Andrade
|
||||||
formato: Livro Digital (online)
|
formato: Livro Digital (online)
|
||||||
autor: Wagner Azevedo
|
autor: Wagner Azevedo
|
||||||
link_metadados: https://ark.livro.online/ark_dp_68745_b_eM37B_b_qQ.yml
|
link_metadados: https://ark.livro.online/ark_dp_68745_b_eM37B_b_qQ.yml
|
||||||
|
68745/eM37B/qQ.7D:
|
||||||
"68745/eM37B/qQ.7D":
|
título: Dicionário de Onomatopeias e Vocábulos Expressivos de Carlos Drummond de
|
||||||
título: Dicionário de Onomatopeias e Vocábulos Expressivos de Carlos Drummond de Andrade
|
Andrade
|
||||||
formato: Livro Impresso
|
formato: Livro Impresso
|
||||||
autor: Wagner Azevedo
|
autor: Wagner Azevedo
|
||||||
link_metadados: https://ark.livro.online/ark_dp_68745_b_eM37B_b_qQ_p_7D.yml
|
link_metadados: https://ark.livro.online/ark_dp_68745_b_eM37B_b_qQ_p_7D.yml
|
||||||
|
68745/eMNBr:
|
||||||
"68745/eMNBr":
|
|
||||||
título: Dicionário de Onomatopeias e Vocábulos Expressivos
|
título: Dicionário de Onomatopeias e Vocábulos Expressivos
|
||||||
formato: Livro Digital (online)
|
formato: Livro Digital (online)
|
||||||
autor: Wagner Azevedo
|
autor: Wagner Azevedo
|
||||||
link_metadados: https://ark.livro.online/ark_dp_68745_b_eMNBr.yml
|
link_metadados: https://ark.livro.online/ark_dp_68745_b_eMNBr.yml
|
||||||
|
68745/eMNBr.Bh:
|
||||||
"68745/eMNBr.Bh":
|
|
||||||
título: Dicionário de Onomatopeias e Vocábulos Expressivos
|
título: Dicionário de Onomatopeias e Vocábulos Expressivos
|
||||||
formato: Livro Impresso
|
formato: Livro Impresso
|
||||||
autor: Wagner Azevedo
|
autor: Wagner Azevedo
|
||||||
link_metadados: https://ark.livro.online/ark_dp_68745_b_eMNBr_p_Bh.yml
|
link_metadados: https://ark.livro.online/ark_dp_68745_b_eMNBr_p_Bh.yml
|
||||||
|
68745/eMJh3:
|
||||||
"68745/eMJh3":
|
|
||||||
título: Coleção Compositores da MPB
|
título: Coleção Compositores da MPB
|
||||||
formato: Coleção de Livros Digitais (online) com Volumes também em Versões Impressas – Nenhum Volume Publicado Ainda
|
formato: Coleção de Livros Digitais (online) com Volumes também em Versões Impressas
|
||||||
|
– Nenhum Volume Publicado Ainda
|
||||||
autor: Wagner Azevedo
|
autor: Wagner Azevedo
|
||||||
link_metadados: https://ark.livro.online/ark_dp_68745_b_eMJh3.yml
|
link_metadados: https://ark.livro.online/ark_dp_68745_b_eMJh3.yml
|
||||||
|
68745/eMJh3/8N:
|
||||||
"68745/eMJh3/8N":
|
|
||||||
título: Dicionário De Nomes Nas Canções De Caetano Veloso
|
título: Dicionário De Nomes Nas Canções De Caetano Veloso
|
||||||
formato: Livro Digital (online) quando for publicado
|
formato: Livro Digital (online) quando for publicado
|
||||||
autor: Wagner Azevedo
|
autor: Wagner Azevedo
|
||||||
link_metadados: https://ark.livro.online/ark_dp_68745_b_eMJh3_b_8N.yml
|
link_metadados: https://ark.livro.online/ark_dp_68745_b_eMJh3_b_8N.yml
|
||||||
|
68745/eMJh3/mr:
|
||||||
"68745/eMJh3/mr":
|
|
||||||
título: Dicionário De Nomes Nas Canções De Gilberto Gil
|
título: Dicionário De Nomes Nas Canções De Gilberto Gil
|
||||||
formato: Livro Digital (online) quando for publicado
|
formato: Livro Digital (online) quando for publicado
|
||||||
autor: Wagner Azevedo
|
autor: Wagner Azevedo
|
||||||
|
301
gerar_ark.py
301
gerar_ark.py
@ -24,7 +24,9 @@ def main():
|
|||||||
config_geral = {
|
config_geral = {
|
||||||
|
|
||||||
"prefixo": "eM", # Você pode escolher o melhor para você ou deixar uma string vazia se não quiser usar prefixo
|
"prefixo": "eM", # Você pode escolher o melhor para você ou deixar uma string vazia se não quiser usar prefixo
|
||||||
"qtde_digitos": 3, # Quantidade de dígitos sem contar o prefixo. Na Editora Moan estamos usando 3, mas você pode mudar de acordo com suas necessidades
|
"qtde_digitos_ark_nivel_1": 3, # Quantidade de dígitos sem contar o prefixo. Na Editora Moan estamos usando 3, mas você pode mudar de acordo com suas necessidades
|
||||||
|
"qtde_digitos_ark_nivel_2": 2, # Quantidade de dígitos para um ARK filho. Na Editora Moan estamos usando 2, mas você pode mudar de acordo com suas necessidades
|
||||||
|
"qtde_digitos_ark_nivel_3": 2, # Quantidade de dígitos para um ARK de variação. Na Editora Moan estamos usando 2, mas você pode mudar de acordo com suas necessidades
|
||||||
"naan": "68745", # NAAN da Editora Moan na Ark Alliance
|
"naan": "68745", # NAAN da Editora Moan na Ark Alliance
|
||||||
"simbolos": "23456789bBdDfFgGhHjJmMnNpPqQrRtT", # Símbolos permitidos na geração do ark. Sinta-se a vontade, se quiser mudar.
|
"simbolos": "23456789bBdDfFgGhHjJmMnNpPqQrRtT", # Símbolos permitidos na geração do ark. Sinta-se a vontade, se quiser mudar.
|
||||||
"pasta_yaml": "yaml", # Nome da pasta em que o programa verificará se já existe o ARK gerado. Nessa pasta, são armazenados os metadados em yaml do ARK gerado
|
"pasta_yaml": "yaml", # Nome da pasta em que o programa verificará se já existe o ARK gerado. Nessa pasta, são armazenados os metadados em yaml do ARK gerado
|
||||||
@ -80,13 +82,13 @@ def main():
|
|||||||
|
|
||||||
elif func == "2":
|
elif func == "2":
|
||||||
|
|
||||||
atualizar_identificador_ARK()
|
atualizar_identificador_ARK(config_geral, metadados)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def filtrar(config_geral, ark):
|
def filtrar(ark):
|
||||||
|
|
||||||
# essa função transforma o identificador ARK na forma em que os arquivos ARK são nomeados. Um ark pode ter ":" (dois pontos), "/" (barra) ou "." (ponto). Mas isso, em um nome de arquivo atrapalha a url. Assim, transformaremos : em _dp_, / em _b_ e . em _p_.
|
# essa função transforma o identificador ARK na forma em que os arquivos ARK são nomeados. Um ark pode ter ":" (dois pontos), "/" (barra) ou "." (ponto). Mas isso, em um nome de arquivo atrapalha a url. Assim, transformaremos : em _dp_, / em _b_ e . em _p_.
|
||||||
|
|
||||||
@ -106,8 +108,6 @@ def criar_identificador_ARK(config_geral, metadados, nivel, ark_pai=None):
|
|||||||
# pegando as configurações gerais
|
# pegando as configurações gerais
|
||||||
prefixo = config_geral["prefixo"]
|
prefixo = config_geral["prefixo"]
|
||||||
|
|
||||||
qtde_digitos = config_geral["qtde_digitos"]
|
|
||||||
|
|
||||||
naan = config_geral["naan"]
|
naan = config_geral["naan"]
|
||||||
|
|
||||||
simbolos = config_geral["simbolos"]
|
simbolos = config_geral["simbolos"]
|
||||||
@ -122,15 +122,39 @@ def criar_identificador_ARK(config_geral, metadados, nivel, ark_pai=None):
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
# criando o ARK de nível 1
|
|
||||||
if nivel == "1":
|
|
||||||
|
|
||||||
print(BLUE+"\nCriando o identificador ARK...\n"+RESET)
|
print(BLUE+"\nCriando o identificador ARK...\n"+RESET)
|
||||||
|
|
||||||
while True:
|
while True:
|
||||||
|
|
||||||
|
# criando o ARK de nível 1
|
||||||
|
if nivel == "1":
|
||||||
|
|
||||||
ark = naan + "/" + prefixo
|
ark = naan + "/" + prefixo
|
||||||
|
|
||||||
|
qtde_digitos = config_geral["qtde_digitos_ark_nivel_1"]
|
||||||
|
|
||||||
|
|
||||||
|
# criando o ARK de nível 2, o u qualquer nível conforme o ark_pai passado
|
||||||
|
elif nivel == "2":
|
||||||
|
|
||||||
|
ark = naan + "/" + ark_pai + "/"
|
||||||
|
|
||||||
|
qtde_digitos = config_geral["qtde_digitos_ark_nivel_2"]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# criando o ARK de variação
|
||||||
|
elif nivel == "3":
|
||||||
|
|
||||||
|
ark = naan + "/" + ark_pai + "."
|
||||||
|
|
||||||
|
qtde_digitos = config_geral["qtde_digitos_ark_nivel_3"]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
for i in range(qtde_digitos):
|
for i in range(qtde_digitos):
|
||||||
|
|
||||||
@ -139,7 +163,7 @@ def criar_identificador_ARK(config_geral, metadados, nivel, ark_pai=None):
|
|||||||
ark += simbolos[numero_sorteado]
|
ark += simbolos[numero_sorteado]
|
||||||
|
|
||||||
|
|
||||||
ark_filtrado = filtrar(config_geral, ark)
|
ark_filtrado = filtrar(ark)
|
||||||
|
|
||||||
nome_arquivo_ark_yml = ark_filtrado + ".yml"
|
nome_arquivo_ark_yml = ark_filtrado + ".yml"
|
||||||
|
|
||||||
@ -184,27 +208,23 @@ def criar_identificador_ARK(config_geral, metadados, nivel, ark_pai=None):
|
|||||||
# Verifique se 'chave_primaria_yaml' (no caso da Editora Moan, ela é moan-dados) existe e 'ark' não existe dentro dele
|
# Verifique se 'chave_primaria_yaml' (no caso da Editora Moan, ela é moan-dados) existe e 'ark' não existe dentro dele
|
||||||
if chave_primaria_yaml in dados_yaml and 'ark' not in dados_yaml[chave_primaria_yaml]:
|
if chave_primaria_yaml in dados_yaml and 'ark' not in dados_yaml[chave_primaria_yaml]:
|
||||||
|
|
||||||
|
|
||||||
|
# As chaves 'título', 'formato' e 'autor' são obrigatorias para geração de identificador ARK
|
||||||
|
if 'título' in dados_yaml[chave_primaria_yaml] and 'formato' in dados_yaml[chave_primaria_yaml] and 'autor' in dados_yaml[chave_primaria_yaml]:
|
||||||
|
|
||||||
|
|
||||||
# Adicione 'ark' ao 'chave_primaria_yaml' com o valor de ark. Quero que o ark seja a primeira chave, por isso coloquei da forma que está abaixo
|
# Adicione 'ark' ao 'chave_primaria_yaml' com o valor de ark. Quero que o ark seja a primeira chave, por isso coloquei da forma que está abaixo
|
||||||
dados_yaml[chave_primaria_yaml] = {'ark' : ark, **dados_yaml[chave_primaria_yaml]}
|
dados_yaml[chave_primaria_yaml] = {'ark' : ark, **dados_yaml[chave_primaria_yaml]}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Salve os dados atualizados no arquivo original
|
# Salve os dados atualizados no arquivo original
|
||||||
with open(metadados, 'w', encoding='utf-8') as arquivo_yaml:
|
with open(metadados, 'w', encoding='utf-8') as arquivo_yaml:
|
||||||
|
|
||||||
yaml.dump(dados_yaml, arquivo_yaml, default_style='', sort_keys=False, allow_unicode=True)
|
yaml.dump(dados_yaml, arquivo_yaml, default_style='', sort_keys=False, allow_unicode=True)
|
||||||
|
|
||||||
|
|
||||||
else:
|
|
||||||
|
|
||||||
# Ou a chave moan-dados não foi configurada no arquivo YAML com os metadados (o arquivo _quarto.yml, no caso da Editora Moan), ou então a chave ark já existe, o que indica que você deve usar a função de atualizar, e não gerar um novo ARK.
|
|
||||||
|
|
||||||
print(RED+f"\nOu a chave chave_primaria_yaml, que está registrada como {chave_primaria_yaml} no dicionário Python config_geral no início da função main, não foi configurada no arquivo YAML com os metadados (o arquivo _quarto.yml, no caso da Editora Moan), ou então a chave ark já existe, o que indica que você deve usar a função de atualizar, e não gerar um novo ARK.\n"+RESET)
|
|
||||||
|
|
||||||
time.sleep(2)
|
|
||||||
|
|
||||||
break
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Crie um novo dicionário contendo apenas os dados da chave_primaria_yaml 'moan-dados'
|
# Crie um novo dicionário contendo apenas os dados da chave_primaria_yaml 'moan-dados'
|
||||||
metadados_yaml_a_gravar = dados_yaml[chave_primaria_yaml]
|
metadados_yaml_a_gravar = dados_yaml[chave_primaria_yaml]
|
||||||
|
|
||||||
@ -217,6 +237,45 @@ def criar_identificador_ARK(config_geral, metadados, nivel, ark_pai=None):
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# Resumo dos metadados em YAML
|
||||||
|
metadados_resumo_yaml_a_gravar = {dados_yaml[chave_primaria_yaml]['ark']:
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
'título': dados_yaml[chave_primaria_yaml]['título'],
|
||||||
|
'formato': dados_yaml[chave_primaria_yaml]['formato'],
|
||||||
|
'autor': dados_yaml[chave_primaria_yaml]['autor'],
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#pega o diretório atual
|
||||||
|
diretorio_atual = os.getcwd()
|
||||||
|
|
||||||
|
caminho_completo_yaml_existente = os.path.join(diretorio_atual, "ark_lista.yml")
|
||||||
|
|
||||||
|
|
||||||
|
# Abre o arquivo YAML existente em modo de leitura
|
||||||
|
with open(caminho_completo_yaml_existente, 'r', encoding='utf-8') as arquivo_yaml_existente:
|
||||||
|
|
||||||
|
# Carrega o conteúdo do arquivo YAML existente
|
||||||
|
dados_yaml_existente = yaml.load(arquivo_yaml_existente, Loader=yaml.FullLoader)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# Atualiza com os dados novos
|
||||||
|
dados_yaml_existente.update(metadados_resumo_yaml_a_gravar)
|
||||||
|
|
||||||
|
|
||||||
|
# Salve o resumo dos metadados em um novo arquivo YAML
|
||||||
|
with open(caminho_completo_yaml_existente, 'w', encoding='utf-8') as arquivo_yaml_existente:
|
||||||
|
|
||||||
|
yaml.dump(dados_yaml_existente, arquivo_yaml_existente, default_style='', sort_keys=False, allow_unicode=True, default_flow_style=False)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Converta os dados para JSON
|
# Converta os dados para JSON
|
||||||
metadados_json_a_gravar = json.dumps(dados_yaml[chave_primaria_yaml], ensure_ascii=False, indent=2)
|
metadados_json_a_gravar = json.dumps(dados_yaml[chave_primaria_yaml], ensure_ascii=False, indent=2)
|
||||||
|
|
||||||
@ -231,6 +290,44 @@ def criar_identificador_ARK(config_geral, metadados, nivel, ark_pai=None):
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# Resumo dos metadados em JSON
|
||||||
|
metadados_resumo_json_a_gravar = {
|
||||||
|
|
||||||
|
dados_yaml[chave_primaria_yaml]['ark']: {
|
||||||
|
|
||||||
|
'título': dados_yaml[chave_primaria_yaml]['título'],
|
||||||
|
'formato': dados_yaml[chave_primaria_yaml]['formato'],
|
||||||
|
'autor': dados_yaml[chave_primaria_yaml]['autor'],
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
# Caminho completo para o arquivo JSON existente
|
||||||
|
caminho_completo_json_existente = os.path.join(diretorio_atual, "ark_lista.json")
|
||||||
|
|
||||||
|
# Abre o arquivo JSON existente em modo de leitura
|
||||||
|
with open(caminho_completo_json_existente, 'r', encoding='utf-8') as arquivo_json_existente:
|
||||||
|
|
||||||
|
# Carrega o conteúdo do arquivo JSON existente
|
||||||
|
dados_json_existente = json.load(arquivo_json_existente)
|
||||||
|
|
||||||
|
# Atualiza com os dados novos
|
||||||
|
dados_json_existente.update(metadados_resumo_json_a_gravar)
|
||||||
|
|
||||||
|
# Salve o resumo dos metadados em um novo arquivo JSON
|
||||||
|
with open(caminho_completo_json_existente, 'w', encoding='utf-8') as arquivo_json_existente:
|
||||||
|
|
||||||
|
json.dump(dados_json_existente, arquivo_json_existente, ensure_ascii=False, indent=2)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
print(BLUE+f"\n*********************\n*********************\n\n"+GREEN+"O identificador "+YELLOW+f"'ark:{ark}'"+GREEN+" foi criado com sucesso e os seus "+YELLOW+"metadados foram gravados.\n\n"+BLUE+"*********************\n*********************\n"+RESET)
|
print(BLUE+f"\n*********************\n*********************\n\n"+GREEN+"O identificador "+YELLOW+f"'ark:{ark}'"+GREEN+" foi criado com sucesso e os seus "+YELLOW+"metadados foram gravados.\n\n"+BLUE+"*********************\n*********************\n"+RESET)
|
||||||
|
|
||||||
time.sleep(2)
|
time.sleep(2)
|
||||||
@ -238,13 +335,173 @@ def criar_identificador_ARK(config_geral, metadados, nivel, ark_pai=None):
|
|||||||
break
|
break
|
||||||
|
|
||||||
|
|
||||||
|
else:
|
||||||
|
|
||||||
|
print(RED+f"\nAs chaves 'título', 'formato' e 'autor' são obrigatorias para geração de identificador ARK.\n"+RESET)
|
||||||
|
|
||||||
|
time.sleep(2)
|
||||||
|
|
||||||
|
break
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def atualizar_identificador_ARK():
|
else:
|
||||||
|
|
||||||
|
# Ou a chave moan-dados não foi configurada no arquivo YAML com os metadados (o arquivo _quarto.yml, no caso da Editora Moan), ou então a chave ark já existe, o que indica que você deve usar a função de atualizar, e não gerar um novo ARK.
|
||||||
|
|
||||||
|
print(RED+f"\nOu a chave chave_primaria_yaml, que está registrada como {chave_primaria_yaml} no dicionário Python config_geral no início da função main, não foi configurada no arquivo YAML com os metadados (o arquivo _quarto.yml, no caso da Editora Moan), ou então a chave ark já existe, o que indica que você deve usar a função de atualizar, e não gerar um novo ARK.\n"+RESET)
|
||||||
|
|
||||||
|
time.sleep(2)
|
||||||
|
|
||||||
|
break
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
def atualizar_identificador_ARK(config_geral, arquivo_atualizado):
|
||||||
|
|
||||||
|
# pegando as configurações gerais
|
||||||
|
pasta_yaml = config_geral["pasta_yaml"]
|
||||||
|
|
||||||
|
pasta_json = config_geral["pasta_json"]
|
||||||
|
|
||||||
|
chave_primaria_yaml = config_geral["chave_primaria_yaml"]
|
||||||
|
|
||||||
|
|
||||||
|
if os.path.exists(arquivo_atualizado):
|
||||||
|
|
||||||
|
print(BLUE+"\nAtualizando os metadados do identificador ARK...\n"+RESET)
|
||||||
|
|
||||||
|
|
||||||
|
# Carregue o arquivo YAML com os metadados atualizados
|
||||||
|
with open(arquivo_atualizado, 'r', encoding='utf-8') as arquivo_yaml:
|
||||||
|
|
||||||
|
dados_yaml = yaml.load(arquivo_yaml, Loader=yaml.FullLoader)
|
||||||
|
|
||||||
|
ark_atualizado = dados_yaml[chave_primaria_yaml]['ark']
|
||||||
|
|
||||||
|
arquivo_yaml_a_ser_atualizado = filtrar(ark_atualizado)+".yml"
|
||||||
|
|
||||||
|
caminho_completo_atualizacao_yml = os.path.join(pasta_yaml, arquivo_yaml_a_ser_atualizado)
|
||||||
|
|
||||||
|
arquivo_json_a_ser_atualizado = filtrar(ark_atualizado)+".json"
|
||||||
|
|
||||||
|
caminho_completo_atualizacao_json = os.path.join(pasta_json, arquivo_json_a_ser_atualizado)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
if os.path.exists(caminho_completo_atualizacao_yml):
|
||||||
|
|
||||||
|
# Crie um novo dicionário contendo apenas os dados da chave_primaria_yaml 'moan-dados'
|
||||||
|
metadados_yaml_a_atualizar = dados_yaml[chave_primaria_yaml]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# Salve os dados atualizados em um novo arquivo YAML
|
||||||
|
with open(caminho_completo_atualizacao_yml, 'w', encoding='utf-8') as novo_arquivo_yaml:
|
||||||
|
|
||||||
|
yaml.dump(metadados_yaml_a_atualizar, novo_arquivo_yaml, default_style='', sort_keys=False, allow_unicode=True, default_flow_style=False)
|
||||||
|
|
||||||
|
print(GREEN+"\nArquivo "+YELLOW+caminho_completo_atualizacao_yml+GREEN+" atualizado com sucesso.\n"+RESET)
|
||||||
|
|
||||||
|
else:
|
||||||
|
|
||||||
|
print(RED+"\nO arquivo "+YELLOW+caminho_completo_atualizacao_yml+RED+" não foi encontrado. Isso indica seu arquivo tem um identificador ARK, mas o mesmo não tem um arquivo de metadados YAML público.\n"+RESET)
|
||||||
|
|
||||||
|
return
|
||||||
|
|
||||||
|
|
||||||
|
# Carregue o arquivo YAML ark_lista
|
||||||
|
with open("ark_lista.yml", 'r', encoding='utf-8') as arquivo_yaml:
|
||||||
|
|
||||||
|
dados_yaml_lista = yaml.load(arquivo_yaml, Loader=yaml.FullLoader)
|
||||||
|
|
||||||
|
|
||||||
|
metadados_resumo_yaml_atualizacao = {
|
||||||
|
|
||||||
|
'título': dados_yaml[chave_primaria_yaml]['título'],
|
||||||
|
'formato': dados_yaml[chave_primaria_yaml]['formato'],
|
||||||
|
'autor': dados_yaml[chave_primaria_yaml]['autor'],
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
dados_yaml_lista[ark_atualizado] = metadados_resumo_yaml_atualizacao
|
||||||
|
|
||||||
|
with open("ark_lista.yml", 'w', encoding='utf-8') as atualizacao_arquivo_yaml:
|
||||||
|
|
||||||
|
yaml.dump(dados_yaml_lista, atualizacao_arquivo_yaml, default_style='', sort_keys=False, allow_unicode=True, default_flow_style=False)
|
||||||
|
|
||||||
|
|
||||||
|
print(GREEN+"\nArquivo "+YELLOW+"ark_lista.yml"+GREEN+" atualizado com sucesso.\n"+RESET)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
if os.path.exists(caminho_completo_atualizacao_json):
|
||||||
|
|
||||||
|
# Converta os dados para JSON
|
||||||
|
metadados_json_atualizacao = json.dumps(dados_yaml[chave_primaria_yaml], ensure_ascii=False, indent=2)
|
||||||
|
|
||||||
|
|
||||||
|
# Faz a Atualização do arquivo JSON
|
||||||
|
with open(caminho_completo_atualizacao_json, 'w', encoding='utf-8') as novo_arquivo_json:
|
||||||
|
|
||||||
|
novo_arquivo_json.write(metadados_json_atualizacao)
|
||||||
|
|
||||||
|
|
||||||
|
print(GREEN+"\nArquivo "+YELLOW+caminho_completo_atualizacao_json+GREEN+" atualizado com sucesso.\n"+RESET)
|
||||||
|
|
||||||
|
|
||||||
|
# Abre o ark_lista.json em modo de leitura
|
||||||
|
with open("ark_lista.json", 'r', encoding='utf-8') as atualizacao_arquivo_json:
|
||||||
|
|
||||||
|
ark_lista_json = json.load(atualizacao_arquivo_json)
|
||||||
|
|
||||||
|
|
||||||
|
chave_atualizacao = dados_yaml[chave_primaria_yaml]['ark']
|
||||||
|
|
||||||
|
|
||||||
|
# Resumo dos metadados em JSON
|
||||||
|
ark_lista_json[chave_atualizacao].update( {
|
||||||
|
|
||||||
|
'título': dados_yaml[chave_primaria_yaml]['título'],
|
||||||
|
'formato': dados_yaml[chave_primaria_yaml]['formato'],
|
||||||
|
'autor': dados_yaml[chave_primaria_yaml]['autor'],
|
||||||
|
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
|
# Salve as atualizações de volta no arquivo JSON
|
||||||
|
with open("ark_lista.json", 'w', encoding='utf-8') as atualizacao_arquivo_json:
|
||||||
|
|
||||||
|
json.dump(ark_lista_json, atualizacao_arquivo_json, ensure_ascii=False, indent=2)
|
||||||
|
|
||||||
|
|
||||||
|
print(GREEN+"\nArquivo "+YELLOW+"ark_lista.json"+GREEN+" atualizado com sucesso.\n"+RESET)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
else:
|
||||||
|
|
||||||
|
print(RED+"\nO arquivo "+YELLOW+caminho_completo_atualizacao_json+RED+" não foi encontrado. Isso indica seu arquivo tem um identificador ARK, mas o mesmo não tem um arquivo de metadados JSON público.\n"+RESET)
|
||||||
|
|
||||||
|
return
|
||||||
|
|
||||||
|
|
||||||
|
else:
|
||||||
|
|
||||||
|
print(RED+"\nO arquivo "+YELLOW+arquivo_atualizado+RED+" não foi encontrado.\n"+RESET)
|
||||||
|
|
||||||
print("Função de atualização de identificador ARK")
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user