copiando arquivos para varios pcs da net

Fazer render em renderfarm de projetos com muitas texturas e proxies congestiona a rede e perde-se muito tempo no processo, por isso resolvi criar um programa que faz copias locais em cada maquina dos arquivos necessarios para o render, assim o renderizador busca localmente os arquivos nao perdendo tempo esperando os arquivos ficarem disponiveis atravez da rede. Para criar o programa usei como linguagem de programaçao o python 2.6 e as libs PyQt4 e pyWin32.

Atendendo solicitaçoes, vou descrever rapidamente o processo e postar os codigos do programa.

1. A inteface:
  Usei o qtdesigner para desenhar a seguinte interface


















o codigo da interface gerado pelo pyuic apartir do arquivo mainwindow.ui do qtdesigner:

mainwindow.py:


em outro arquivo crio uma classe que herda a classe do qtdesigner, e acrescento os parametros e funçoes que fazem o processamento necessario. Todo o processamento ocorre em um thread separada, para que possa haver atualizacao do textbox que exibe o progresso das operaçoes e também nao travar a interface grafica para que seje possivel cancelar a operaçao. Segue os codigos do arquivo que denominei interface.py

interface.py:


A classe anterior importa dois outros modulos não padrao, um deles eu peguei pronto na net e fiz pequenas modificaçoes (networkFileTransferB.py), o outro modulo eu criei usando as funçoes das libs win32wnet, win32netcon, win32net e win32file do modulo pyWin32 baixado do site da activeState. Segue os codigos desses dois modulos necessarios. (observe que dentro do modulos existem varias funçoes que no momento nao estou usando no programa, mas que fiz para testes.

findNetPcs.py:


networkFileTransferB.py:


eh isso aih.
espero que seje útil.
abraços
Wilsimar. (wilsimarbr@gmail.com)