diff --git a/sapl/legacy/scripts/exporta_zope/dump30.py b/sapl/legacy/scripts/exporta_zope/dump30.py new file mode 100644 index 000000000..3fca44cf5 --- /dev/null +++ b/sapl/legacy/scripts/exporta_zope/dump30.py @@ -0,0 +1,18 @@ +from exporta_zope import (br, dump_folder, dump_propriedades, dump_usuarios, + get_app, logando_nao_identificados) + + +def dump_sapl30(): + destino = '../../../../media' + data_fs_path = destino + '/Data.fs' + docs_path = destino + '/DocumentosSapl.fs' + app, close_db = get_app(data_fs_path) + sapl = br(app['sapl']) + dump_usuarios(sapl, destino) + close_db() + + app, close_db = get_app(docs_path) + docs = br(app['sapl_documentos']) + with logando_nao_identificados(): + dump_folder(docs, destino) + dump_propriedades(docs, destino) diff --git a/sapl/legacy/scripts/exporta_zope/exporta_zope.py b/sapl/legacy/scripts/exporta_zope/exporta_zope.py index 1f234c49e..a5624aefc 100755 --- a/sapl/legacy/scripts/exporta_zope/exporta_zope.py +++ b/sapl/legacy/scripts/exporta_zope/exporta_zope.py @@ -8,6 +8,7 @@ import os.path import sys from collections import defaultdict +from contextlib import contextmanager from functools import partial from os.path import splitext @@ -117,6 +118,20 @@ def enumerate_btree(folder): nao_identificados = defaultdict(list) +@contextmanager +def logando_nao_identificados(): + nao_identificados.clear() + yield + if nao_identificados: + print('#' * 80) + print('#' * 80) + print(u'FORAM ENCONTRADOS ARQUIVOS DE FORMATO NÃO IDENTIFICADO!!!') + print(u'REFAÇA A EXPORTAÇÃO\n') + print(nao_identificados) + print('#' * 80) + print('#' * 80) + + def dump_folder(folder, path='', enum=enumerate_folder): name = folder['id'] path = os.path.join(path, name) @@ -239,17 +254,9 @@ def dump_sapl(data_fs_path, destino='../../../../media'): # extrai documentos docs = br(sapl['sapl_documentos']) - nao_identificados.clear() - dump_folder(docs, destino) - dump_propriedades(docs, destino) - if nao_identificados: - print('#' * 80) - print('#' * 80) - print(u'FORAM ENCONTRADOS ARQUIVOS DE FORMATO NÃO IDENTIFICADO!!!') - print(u'REFAÇA A EXPORTAÇÃO\n') - print(nao_identificados) - print('#' * 80) - print('#' * 80) + with logando_nao_identificados(): + dump_folder(docs, destino) + dump_propriedades(docs, destino) finally: close_db()