diff --git a/sapl/legacy/migracao_dados.py b/sapl/legacy/migracao_dados.py index da0ca270a..41c7b9934 100644 --- a/sapl/legacy/migracao_dados.py +++ b/sapl/legacy/migracao_dados.py @@ -857,6 +857,10 @@ def move_para_depois_de(lista, movido, referencias): def get_models_a_migrar(): models = [model for app in appconfs for model in app.models.values() if model in field_renames] + # retira reuniões quando não existe na base legada + # (só existe no sapl 3.0) + if 'reuniao_comissao' not in list(exec_legado('show tables')): + models.remove(Reuniao) # Devido à referência TipoProposicao.tipo_conteudo_related # a migração de TipoProposicao precisa ser feita # após TipoMateriaLegislativa e TipoDocumento diff --git a/sapl/legacy/migracao_documentos.py b/sapl/legacy/migracao_documentos.py index a759e3667..fd692aa47 100644 --- a/sapl/legacy/migracao_documentos.py +++ b/sapl/legacy/migracao_documentos.py @@ -22,13 +22,10 @@ from sapl.sessao.models import SessaoPlenaria DOCS = { - CasaLegislativa: [('logotipo', 'props_sapl/{}.*')], Parlamentar: [('fotografia', 'parlamentar/fotos/{}_foto_parlamentar')], MateriaLegislativa: [('texto_original', 'materia/{}_texto_integral')], DocumentoAcessorio: [('arquivo', 'materia/{}')], NormaJuridica: [('texto_integral', 'norma_juridica/{}_texto_integral')], - Reuniao: [('upload_pauta', 'reuniao_comissao/{}_pauta'), - ('upload_ata', 'reuniao_comissao/{}_ata')], SessaoPlenaria: [('upload_pauta', 'pauta_sessao/{}_pauta_sessao'), ('upload_ata', 'ata_sessao/{}_ata_sessao'), ('upload_anexo', 'anexo_sessao/{}_texto_anexado')], @@ -38,8 +35,14 @@ DOCS = { DocumentoAcessorioAdministrativo: [('arquivo', 'administrativo/{}')], } +# acrescenta reuniões (que só existem no sapl 3.0) +if 'reuniao_comissao' in set(exec_legado('show tables')): + DOCS[Reuniao] = [('upload_pauta', 'reuniao_comissao/{}_pauta'), + ('upload_ata', 'reuniao_comissao/{}_ata')], + + DOCS = {model: [(campo, join('sapl_documentos', origem)) - for campo, origem, in campos] + for campo, origem in campos] for model, campos in DOCS.items()} @@ -55,7 +58,7 @@ def mover_documento(repo, origem, destino, ignora_origem_ausente=False): def migrar_logotipo(repo, casa, propriedades): print('.... Migrando logotipo da casa ....') - [(campo, origem)] = DOCS[CasaLegislativa] + campo, origem = 'logotipo', 'sapl_documentos/props_sapl/{}.*' # a extensão do logo pode ter sido ajustada pelo tipo real do arquivo nome_nas_propriedades = os.path.splitext(propriedades['id_logo'])[0] arquivos = glob( @@ -102,10 +105,10 @@ def migrar_propriedades_da_casa(repo): migrar_logotipo(repo, casa, propriedades) casa.save() - repo.git.rm(caminho) def migrar_docs_por_ids(repo, model): + for campo, base_origem in DOCS[model]: print('#### Migrando {} de {} ####'.format(campo, model.__name__)) @@ -161,16 +164,7 @@ def migrar_documentos(repo): # (necessário para o cropping de imagem) repo.git.execute('git annex get sapl_documentos/parlamentar'.split()) - for model in [ - Parlamentar, - MateriaLegislativa, - DocumentoAcessorio, - NormaJuridica, - SessaoPlenaria, - Proposicao, - DocumentoAdministrativo, - DocumentoAcessorioAdministrativo, - ]: + for model in DOCS: migrar_docs_por_ids(repo, model) sobrando = [join(dir, file)