Browse Source

Migra anexo de sessão plenária

pull/978/head
Marcio Mazza 8 years ago
parent
commit
6fa7f206e6
  1. 58
      sapl/legacy/migracao_documentos.py

58
sapl/legacy/migracao_documentos.py

@ -33,44 +33,49 @@ EXTENSOES = {
} }
DOCS = { DOCS = {
CasaLegislativa: ( CasaLegislativa: [(
'logotipo', 'logotipo',
'props_sapl/logo_casa.gif', 'props_sapl/logo_casa.gif',
'casa/logotipo/logo_casa.gif'), 'casa/logotipo/logo_casa.gif')],
Parlamentar: ( Parlamentar: [(
'fotografia', 'fotografia',
'parlamentar/fotos/{}_foto_parlamentar', 'parlamentar/fotos/{}_foto_parlamentar',
'parlamentar/{0}/{0}_foto_parlamentar{1}'), 'parlamentar/{0}/{0}_foto_parlamentar{1}')],
MateriaLegislativa: ( MateriaLegislativa: [(
'texto_original', 'texto_original',
'materia/{}_texto_integral', 'materia/{}_texto_integral',
'materialegislativa/{0}/{0}_texto_integral{1}'), 'materialegislativa/{0}/{0}_texto_integral{1}')],
DocumentoAcessorio: ( DocumentoAcessorio: [(
'arquivo', 'arquivo',
'materia/{}', 'materia/{}',
'documentoacessorio/{0}/{0}{1}'), 'documentoacessorio/{0}/{0}{1}')],
NormaJuridica: ( NormaJuridica: [(
'texto_original', 'texto_original',
'norma_juridica/{}_texto_integral', 'norma_juridica/{}_texto_integral',
'normajuridica/{0}/{0}_texto_integral{1}'), 'normajuridica/{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}'), 'sessaoplenaria/{0}/ata/{0}_ata_sessao{1}'),
Proposicao: ( ('upload_anexo',
'anexo_sessao/{}_texto_anexado',
'sessaoplenaria/{0}/anexo/{0}_texto_anexado{1}')
],
Proposicao: [(
'texto_original', 'texto_original',
'proposicao/{}', 'proposicao/{}',
'proposicao/{0}/{0}{1}'), 'proposicao/{0}/{0}{1}')],
DocumentoAdministrativo: ( DocumentoAdministrativo: [(
'texto_integral', 'texto_integral',
'administrativo/{}_texto_integral', 'administrativo/{}_texto_integral',
'documentoadministrativo/{0}/{0}_texto_integral{1}'), 'documentoadministrativo/{0}/{0}_texto_integral{1}')],
} }
DOCS = {tipo: (campo, DOCS = {tipo: [(campo,
os.path.join('sapl_documentos', origem), os.path.join('sapl_documentos', origem),
os.path.join('sapl', destino)) os.path.join('sapl', destino))
for tipo, (campo, origem, destino) in DOCS.items()} for campo, origem, destino in campos]
for tipo, campos in DOCS.items()}
def em_media(caminho): def em_media(caminho):
@ -94,8 +99,8 @@ def get_casa_legislativa():
def migrar_docs_logo(): def migrar_docs_logo():
print('Migrando logotipo da casa') print('#### Migrando logotipo da casa ####')
_, origem, destino = DOCS[CasaLegislativa] [(_, origem, destino)] = DOCS[CasaLegislativa]
props_sapl = os.path.dirname(origem) props_sapl = os.path.dirname(origem)
# a pasta props_sapl deve conter apenas o origem e metadatas! # a pasta props_sapl deve conter apenas o origem e metadatas!
assert set(os.listdir(em_media(props_sapl))) < { assert set(os.listdir(em_media(props_sapl))) < {
@ -124,11 +129,17 @@ def get_extensao(caminho):
def migrar_docs_por_ids(tipo): def migrar_docs_por_ids(tipo):
campo, base_origem, base_destino = DOCS[tipo] for campo, base_origem, base_destino in DOCS[tipo]:
print('Migrando {} de {}'.format(campo, tipo.__name__)) print('#### Migrando {} de {} ####'.format(campo, tipo.__name__))
dir_origem, nome_origem = os.path.split(em_media(base_origem)) dir_origem, nome_origem = os.path.split(em_media(base_origem))
pat = re.compile('^{}$'.format(nome_origem.format('(\d+)'))) pat = re.compile('^{}$'.format(nome_origem.format('(\d+)')))
if not os.path.isdir(dir_origem):
print(' >>> O diretório {} não existe! Abortado.'.format(
dir_origem))
continue
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:
@ -170,7 +181,8 @@ def migrar_documentos():
for (dir, _, files) in os.walk(em_media('sapl_documentos')) for (dir, _, files) in os.walk(em_media('sapl_documentos'))
for file in files] for file in files]
if sobrando: if sobrando:
print('{} documentos sobraram sem ser migrados!!!'.format( print('\n#### Encerrado ####\n\n'
'{} documentos sobraram sem ser migrados!!!'.format(
len(sobrando))) len(sobrando)))
for doc in sobrando: for doc in sobrando:
print(' {}'. format(doc)) print(' {}'. format(doc))

Loading…
Cancel
Save