Browse Source

fix #1092 - Altera o destino dos documentos migrados (#1093)

* Altera o destino dos documentos migrados

Signed-off-by: Luciano Almeida <lucianoalmeida@interlegis.leg.br>

* Usa a data de matéria em doc acessório

Signed-off-by: Luciano Almeida <lucianoalmeida@interlegis.leg.br>

* ajusta caminho public private
pull/1112/head
Luciano Henrique Nunes de Almeida 8 years ago
committed by Edward
parent
commit
c0ab76b3e5
  1. 39
      sapl/legacy/migracao_documentos.py

39
sapl/legacy/migracao_documentos.py

@ -55,40 +55,40 @@ DOCS = {
Parlamentar: [( Parlamentar: [(
'fotografia', 'fotografia',
'parlamentar/fotos/{}_foto_parlamentar', 'parlamentar/fotos/{}_foto_parlamentar',
'parlamentar/{0}/{0}_foto_parlamentar{1}')], 'public/parlamentar/{0}/{0}_foto_parlamentar{1}')],
MateriaLegislativa: [( MateriaLegislativa: [(
'texto_original', 'texto_original',
'materia/{}_texto_integral', 'materia/{}_texto_integral',
'materialegislativa/{0}/{0}_texto_integral{1}')], 'public/materialegislativa/{2}/{0}/{0}_texto_integral{1}')],
DocumentoAcessorio: [( DocumentoAcessorio: [(
'arquivo', 'arquivo',
'materia/{}', 'materia/{}',
'documentoacessorio/{0}/{0}{1}')], 'public/documentoacessorio/{2}/{0}/{0}{1}')],
NormaJuridica: [( NormaJuridica: [(
'texto_integral', 'texto_integral',
'norma_juridica/{}_texto_integral', 'norma_juridica/{}_texto_integral',
'normajuridica/{0}/{0}_texto_integral{1}')], 'public/normajuridica/{2}/{0}/{0}_texto_integral{1}')],
SessaoPlenaria: [ SessaoPlenaria: [
('upload_ata', ('upload_ata',
'ata_sessao/{}_ata_sessao', 'ata_sessao/{}_ata_sessao',
'sessaoplenaria/{0}/ata/{0}_ata_sessao{1}'), 'public/sessaoplenaria/{0}/ata/{0}_ata_sessao{1}'),
('upload_anexo', ('upload_anexo',
'anexo_sessao/{}_texto_anexado', 'anexo_sessao/{}_texto_anexado',
'sessaoplenaria/{0}/anexo/{0}_texto_anexado{1}') 'public/sessaoplenaria/{0}/anexo/{0}_texto_anexado{1}')
], ],
Proposicao: [( Proposicao: [(
'texto_original', 'texto_original',
'proposicao/{}', 'proposicao/{}',
'proposicao/{0}/{0}{1}')], 'private/proposicao/{0}/{0}{1}')],
DocumentoAdministrativo: [( DocumentoAdministrativo: [(
'texto_integral', 'texto_integral',
'administrativo/{}_texto_integral', 'administrativo/{}_texto_integral',
'documentoadministrativo/{0}/{0}_texto_integral{1}') 'private/documentoadministrativo/{0}/{0}_texto_integral{1}')
], ],
DocumentoAcessorioAdministrativo: [( DocumentoAcessorioAdministrativo: [(
'arquivo', 'arquivo',
'administrativo/{}', 'administrativo/{}',
'documentoacessorioadministrativo/{0}/{0}_acessorio_administrativo{1}') 'private/documentoacessorioadministrativo/{0}/{0}_acessorio_administrativo{1}')
], ],
} }
@ -169,15 +169,22 @@ def migrar_docs_por_ids(tipo):
for arq in os.listdir(dir_origem): for arq in os.listdir(dir_origem):
match = pat.match(arq) match = pat.match(arq)
if match: if match:
origem = os.path.join(dir_origem, match.group(0))
id = match.group(1)
extensao = get_extensao(origem)
destino = base_destino.format(id, extensao)
mover_documento(origem, destino)
# associa documento ao objeto # associa documento ao objeto
try: try:
origem = os.path.join(dir_origem, match.group(0))
id = match.group(1)
obj = tipo.objects.get(pk=id) obj = tipo.objects.get(pk=id)
extensao = get_extensao(origem)
if hasattr(obj, "ano"):
destino = base_destino.format(id, extensao, obj.ano)
elif isinstance(obj, DocumentoAcessorio):
destino = base_destino.format(
id, extensao, obj.materia.ano)
else:
destino = base_destino.format(id, extensao)
mover_documento(origem, destino)
setattr(obj, campo, destino) setattr(obj, campo, destino)
obj.save() obj.save()
except tipo.DoesNotExist: except tipo.DoesNotExist:

Loading…
Cancel
Save