From 88545c1c2297d3cefdbf726e9ae7fb218e7d8a87 Mon Sep 17 00:00:00 2001 From: Marcio Mazza Date: Wed, 11 Apr 2018 15:43:52 -0300 Subject: [PATCH] Exporta docs do zope como repo git --- .../scripts/exporta_zope/exporta_zope.py | 29 ++++++++++++++++--- .../scripts/exporta_zope/requirements.txt | 2 ++ 2 files changed, 27 insertions(+), 4 deletions(-) diff --git a/sapl/legacy/scripts/exporta_zope/exporta_zope.py b/sapl/legacy/scripts/exporta_zope/exporta_zope.py index 11ff1ecbb..b3a4622b2 100755 --- a/sapl/legacy/scripts/exporta_zope/exporta_zope.py +++ b/sapl/legacy/scripts/exporta_zope/exporta_zope.py @@ -12,10 +12,12 @@ from collections import defaultdict from contextlib import contextmanager from functools import partial +import git import magic import yaml import ZODB.DB import ZODB.FileStorage +from unipath import Path from ZODB.broken import Broken EXTENSOES = { @@ -270,7 +272,7 @@ def dump_usuarios(sapl, path): save_as_yaml(path, 'usuarios.yaml', users) -def dump_sapl(data_fs_path, destino='../../../../media'): +def _dump_sapl(data_fs_path, destino='../../../../media'): app, close_db = get_app(data_fs_path) try: sapl = find_sapl(app) @@ -288,9 +290,28 @@ def dump_sapl(data_fs_path, destino='../../../../media'): close_db() +DIR_DADOS_MIGRACAO = Path('~/migracao_sapl/').expand() + + +def dump_sapl(sigla): + data_fs_path = DIR_DADOS_MIGRACAO.child('datafs', + 'Data_cm_{}.fs'.format(sigla)) + nome_banco_legado = 'sapl_cm_{}'.format(sigla) + destino = DIR_DADOS_MIGRACAO.child('repos', nome_banco_legado) + destino.mkdir(parents=True) + repo = git.Repo.init(destino) + assert not repo.index.diff(None) # o repo não tem mudanças pendentes + _dump_sapl(data_fs_path, destino) + # grava mundaças + repo.git.add(A=True) + if 'master' not in repo.heads or repo.index.diff('HEAD'): + # se de fato existe mudança + repo.index.commit('Exporta documentos do zope') + + if __name__ == "__main__": if len(sys.argv) == 2: - data_fs_path = sys.argv[1] - dump_sapl(data_fs_path) + sigla = sys.argv[1] + dump_sapl(sigla) else: - print('Uso: python exporta_zope ') + print('Uso: python exporta_zope ') diff --git a/sapl/legacy/scripts/exporta_zope/requirements.txt b/sapl/legacy/scripts/exporta_zope/requirements.txt index 4794267ae..421005181 100644 --- a/sapl/legacy/scripts/exporta_zope/requirements.txt +++ b/sapl/legacy/scripts/exporta_zope/requirements.txt @@ -1,3 +1,5 @@ # ZODB version 3.7.4 PyYAML==3.12 ZODB==5.3.0 +Unipath==1.1 +GitPython==2.1.9