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)
