|
import ZeroconfService
|
|
from BaseHTTPServer import HTTPServer
|
|
import os
|
|
import WebServer
|
|
import MyUtils
|
|
|
|
pathDownloads = "/home/manu/Descargas/"
|
|
portWebServer = 8000
|
|
classroom = "25"
|
|
|
|
if __name__ == '__main__':
|
|
|
|
if not os.path.exists(pathDownloads):
|
|
os.mkdir(pathDownloads)
|
|
|
|
while True:
|
|
listFiles = os.listdir(pathDownloads)
|
|
|
|
if len(listFiles) == 0:
|
|
time.sleep(300) #in seconds
|
|
else:
|
|
# publish files (Avahi)
|
|
for i in listFiles:
|
|
if os.path.isfile(pathDownloads + i) and i.endswith('.iso'):
|
|
fileName = MyUtils.getFileName(os.path.basename(i))
|
|
md5File = pathDownloads + fileName + '.md5'
|
|
|
|
if not os.path.isfile(md5File):
|
|
md5Hash = MyUtils.getMD5Hash(pathDownloads + i)
|
|
f = open(md5File,'wt')
|
|
f.write(md5Hash)
|
|
f.close()
|
|
|
|
service = ZeroconfService.ZeroconfService(name = str(portWebServer)+"@"+i, port=3000, stype = "_replicant"+classroom+"._tcp") #, domain="replicant", host="localhost", text="Esto es una prueba")
|
|
service.publish()
|
|
|
|
# Start web server
|
|
server = HTTPServer(('', portWebServer), WebServer.MyHandler)
|
|
server.serve_forever()
|
|
|
|
#server.socket.close()
|
|
#service.unpublish()
|