"""Constantes da descrição NOBRADE — decisões registradas em CONARQ.md §5.""" from pathlib import Path RAIZ = Path(__file__).resolve().parents[2] PIPELINE = RAIZ / 'pipeline' CATALOGO = PIPELINE / 'catalogo.jsonl' LEDGER = PIPELINE / 'subidor.sqlite' POSTS = PIPELINE / 'wordpress-posts.jsonl' ERROS = RAIZ / 'errors.md' AJUSTES = Path(__file__).resolve().parent / 'ajustes' SAIDA = RAIZ / 'descricao' TEXTOS = SAIDA / 'textos' REVISAO = SAIDA / 'revisao' # 1.1 — código da entidade custodiadora. PROVISÓRIO até o CONARQ atribuir um # (proc. 1.1.1). Trocar aqui regenera todos os códigos de referência. # Formato do CODEARQ, como o AGCRJ usa: país, espaço, UF + sigla, e as partes # da unidade separadas por ponto — BR RJAGCRJ.SOP.NL.AVE.03.01 PAIS = 'BR' ENTIDADE = 'RJXYZ' ENTIDADE_NOME = 'xyz — cópia digital de acervos fotográficos' ENTIDADE_SITE = 'https://xn--2dk.xyz/brasiliana/' COLECAO = 'BF' COLECAO_TITULO = 'Coleção Brasiliana Fotográfica (cópia digital)' RESPONSAVEL = 'rafapolo' BUCKET = 's3://brasiliana' REGRAS = ('NOBRADE: Norma brasileira de descrição arquivística (CONARQ, 2006); ' 'ISAD(G) 2ª ed. (CIA, 2000); ISAAR(CPF) 2ª ed. (CIA, 2004); ' 'datas em ISO 8601-2 (EDTF); idiomas em ISO 639-2; países em ISO 3166.') ORIGEM_NOME = 'Brasiliana Fotográfica' ORIGEM_SITE = 'https://brasilianafotografica.bn.gov.br/' HANDLE_URL = 'https://brasilianafotografica.bn.gov.br/brasiliana/handle/{}' # Nível 2 — uma seção por instituição de origem (campo `community` do catálogo). # sigla → (nome autorizado, cidade) INSTITUICOES = { 'Instituto Moreira Salles': ('IMS', 'Instituto Moreira Salles', 'Rio de Janeiro (RJ)'), 'Biblioteca Nacional': ('BN', 'Biblioteca Nacional (Brasil)', 'Rio de Janeiro (RJ)'), 'Museu Aeroespacial': ('MUSAL', 'Museu Aeroespacial', 'Rio de Janeiro (RJ)'), 'Museu da Republica': ('MR', 'Museu da República', 'Rio de Janeiro (RJ)'), 'Museu Historico Nacional': ('MHN', 'Museu Histórico Nacional', 'Rio de Janeiro (RJ)'), 'Fiocruz': ('COC', 'Fundação Oswaldo Cruz. Casa de Oswaldo Cruz', 'Rio de Janeiro (RJ)'), 'Diretoria do Patrimonio Historico e Documentacao da Marinha': ('DPHDM', 'Diretoria do Patrimônio Histórico e Documentação da Marinha', 'Rio de Janeiro (RJ)'), 'Arquivo Nacional': ('AN', 'Arquivo Nacional (Brasil)', 'Rio de Janeiro (RJ)'), 'Arquivo Geral da Cidade do Rio de Janeiro': ('AGCRJ', 'Arquivo Geral da Cidade do Rio de Janeiro', 'Rio de Janeiro (RJ)'), 'Leibniz-Institut fuer Laenderkunde, Leipzig': ('IFL', 'Leibniz-Institut für Länderkunde', 'Leipzig (Alemanha)'), 'Instituto Historico e Geografico Brasileiro': ('IHGB', 'Instituto Histórico e Geográfico Brasileiro', 'Rio de Janeiro (RJ)'), 'Fundacao Joaquim Nabuco': ('FUNDAJ', 'Fundação Joaquim Nabuco', 'Recife (PE)'), 'Museu Paraense Emilio Goeldi': ('MPEG', 'Museu Paraense Emílio Goeldi', 'Belém (PA)'), 'Escola de Ciencias Sociais (FGV CPDOC)': ('CPDOC', 'Fundação Getulio Vargas. Escola de Ciências Sociais (FGV CPDOC)', 'Rio de Janeiro (RJ)'), 'Instituto Brasileiro de Geografia e Estatistica': ('IBGE', 'Instituto Brasileiro de Geografia e Estatística', 'Rio de Janeiro (RJ)'), } # 4.1 — obrigatório nos níveis 0 e 1 ACESSO = ('Sem restrição de acesso à descrição. As cópias digitais são mantidas ' f'para preservação em {BUCKET} e consultáveis pelo mural em {ENTIDADE_SITE}. ' 'O acesso aos originais segue as regras de cada instituição de origem ' '(ver 5.1 em cada dossiê).') def codigo(*partes: str) -> str: """BR RJXYZ, BR RJXYZ.BF, BR RJXYZ.BF.IMS.GF.12345.01 …""" return f'{PAIS} ' + '.'.join((ENTIDADE,) + tuple(p for p in partes if p))