Browse Source

Migra reuniões apenas quando existirem no legado

Só acontece em bases de sapl 3.0
pull/2023/head
Marcio Mazza 7 years ago
parent
commit
bec2532f90
  1. 4
      sapl/legacy/migracao_dados.py
  2. 26
      sapl/legacy/migracao_documentos.py

4
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

26
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)

Loading…
Cancel
Save