ConverterSaplFolderParaBtreefolder2: copiar.py

File copiar.py, 1.5 KB (added by adrianogomes, 6 anos atrás)
Linha 
1import transaction
2import datetime
3
4from AccessControl.SecurityManagement import newSecurityManager
5user = app.sapl.acl_users.getUser('sapladm')
6newSecurityManager(None, user.__of__(app.sapl.acl_users))
7
8def copiar():
9    print "copiar"
10    transaction.commit()
11    for nome_pasta in ["administrativo", "ata_sessao", "materia", "norma_juridica", "oradores", "oradores_expediente", "proposicao"]:
12        inicio = datetime.datetime.now()
13        print "copiando", nome_pasta
14        nome_pasta_origem = "/sapl/sapl_documentos/" + nome_pasta
15        nome_pasta_destino = "/sapl/sapl_documentos/copy_of_" + nome_pasta
16        pasta_origem = app.restrictedTraverse(nome_pasta_origem)
17        pasta_destino = app.restrictedTraverse(nome_pasta_destino)
18        c = 0
19        for id in pasta_origem.objectIds():
20            if pasta_origem[id].meta_type == 'File':
21                c = c + 1
22                if c % 100 == 0:
23                    print "commit"
24                    transaction.commit()
25                print id, pasta_origem[id].meta_type, 'copiado'
26                cookie = pasta_origem.manage_copyObjects(ids=id)
27                pasta_destino.manage_pasteObjects(cookie)
28            else:
29                print id, pasta_origem[id].meta_type, 'ignorado'
30        print "commit"
31        transaction.commit()
32        fim = datetime.datetime.now()
33        print "[INFO] %s: %s - %s => %d / %s " % (nome_pasta, inicio, fim, c, fim - inicio)
34
35if __name__ == "__main__":
36    copiar()
 

The contents and data of this website are published under license:
Creative Commons 4.0 Brasil - Atribuir Fonte - Compartilhar Igual.