root/autoclone/trunk/Client/main.py @ 35
32 | manumora | import urlgrabber
|
|
import logging
|
|||
import time
|
|||
LOG_FILENAME = 'shareLinex.log'
|
|||
logging.basicConfig(filename=LOG_FILENAME,level=logging.DEBUG)
|
|||
fileISO = "my_file.iso"
|
|||
teacherServer = "192.168.0.254"
|
|||
port = "8999"
|
|||
endDownload = false
|
|||
def md5_for_file(f, block_size=2**20):
|
|||
md5 = hashlib.md5()
|
|||
while True:
|
|||
data = f.read(block_size)
|
|||
if not data:
|
|||
break
|
|||
md5.update(data)
|
|||
return md5.digest()
|
|||
def verifyFile:
|
|||
if not os.path.exists("verify.hash"):
|
|||
try
|
|||
g = URLGrabber()
|
|||
local_filename = g.urlgrab("http://"+teacherServer+":"+port+"/verify.hash")
|
|||
except
|
|||
logging.debug("No se puede descargar el fichero de verificación")
|
|||
return false
|
|||
verifyHash = so.read("verify.hash")
|
|||
if verifyHash != md5_for_file("fileISO"):
|
|||
return false
|
|||
if __name__ == "__main__":
|
|||
while not endDownload:
|
|||
if not os.path.exists(release):
|
|||
try
|
|||
g = URLGrabber()
|
|||
local_filename = g.urlgrab("http://"+teacherServer+":"+port+"/"+fileISO)
|
|||
except
|
|||
logging.debug("No se puede realizar la descarga desde: "+teacherServer)
|
|||
time.sleep(600)
|
|||
else
|
|||
try
|
|||
g = URLGrabber(reget="simple")
|
|||
local_filename = g.urlgrab("http://"+teacherServer+":"+port+"/"+fileISO)
|
|||
except
|
|||
logging.debug("No se puede reanudar la descarga desde: "+teacherServer)
|
|||
time.sleep(600)
|