From dded28b37a06295cc6e7916b25bfc23f948fcc1b Mon Sep 17 00:00:00 2001 From: Marcio Mazza Date: Fri, 16 Feb 2018 14:15:37 -0200 Subject: [PATCH] =?UTF-8?q?Adiciona=20extra=C3=A7=C3=A3o=20de=20zope=20de?= =?UTF-8?q?=20sapl=203.0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sapl/legacy/scripts/exporta_zope/dump30.py | 18 ++++++++++++ .../scripts/exporta_zope/exporta_zope.py | 29 ++++++++++++------- 2 files changed, 36 insertions(+), 11 deletions(-) create mode 100644 sapl/legacy/scripts/exporta_zope/dump30.py 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()