Browse Source

Grava nomes dos docs exportados

pull/1914/head
Marcio Mazza 7 years ago
parent
commit
a1a5dda83b
  1. 22
      sapl/legacy/scripts/exporta_zope/exporta_zope.py
  2. 7
      sapl/legacy/scripts/exporta_zope/requirements.txt

22
sapl/legacy/scripts/exporta_zope/exporta_zope.py

@ -14,6 +14,7 @@ from functools import partial
import git
import magic
import pyaml
import yaml
import ZODB.DB
import ZODB.FileStorage
@ -78,6 +79,9 @@ def guess_extension(caminho):
raise Exception(msg, e)
nomes_arquivos_exportados = {}
def dump_file(doc, path):
name = doc['__name__']
fullname = os.path.join(path, name)
@ -112,6 +116,7 @@ def dump_file(doc, path):
# trocamos a extensão pela adivinhada
final_name = base + extension
os.rename(fullname, final_name)
nomes_arquivos_exportados[fullname] = final_name
print(final_name)
return name
@ -273,9 +278,23 @@ def dump_usuarios(sapl, path):
save_as_yaml(path, 'usuarios.yaml', users)
def grava_nomes_arquivos_exportados(destino):
"""Grava nomes dos arquivos exportados (originais -> definitivos)
"""
destino = Path(destino)
def rel(caminho):
return str(destino.rel_path_to(caminho))
with open(destino.child('arquivos_exportados.yaml'), 'w') as arq:
nomes = {rel(k): rel(v) for k, v in nomes_arquivos_exportados.items()}
pyaml.dump(nomes, arq)
def _dump_sapl(data_fs_path, destino='../../../../media'):
assert Path(data_fs_path).exists()
app, close_db = get_app(data_fs_path)
nomes_arquivos_exportados.clear() # apaga nomes dos arquivos migrados
try:
sapl = find_sapl(app)
# extrai folhas XSLT
@ -288,6 +307,7 @@ def _dump_sapl(data_fs_path, destino='../../../../media'):
with logando_nao_identificados():
dump_folder(docs, destino)
dump_propriedades(docs, destino)
grava_nomes_arquivos_exportados(destino)
finally:
close_db()
@ -298,7 +318,7 @@ DIR_DADOS_MIGRACAO = Path('~/migracao_sapl/').expand()
def dump_sapl(sigla):
data_fs_path = DIR_DADOS_MIGRACAO.child('datafs',
'Data_cm_{}.fs'.format(sigla))
assert data_fs_path.exists()
assert data_fs_path.exists(), 'Origem não existe: {}'.format(data_fs_path)
nome_banco_legado = 'sapl_cm_{}'.format(sigla)
destino = DIR_DADOS_MIGRACAO.child('repos', nome_banco_legado)
destino.mkdir(parents=True)

7
sapl/legacy/scripts/exporta_zope/requirements.txt

@ -1,5 +1,6 @@
# ZODB version 3.7.4
PyYAML==3.12
ZODB==5.3.0
Unipath==1.1
GitPython==2.1.9
PyYAML
Unipath
GitPython
pyaml

Loading…
Cancel
Save