def correct_es(fichier,es):#CORRECTION D'ES if len(es)>0: Tbuff = libx1.read_file_raw(fichier) buff="".join(Tbuff) n,tt=0,"" while tt!=es: debut_ = buff[:len(buff)-n] r=hashlib.new('md5') r.update(debut_) tt=r.digest() n=n+1 print ("TROUVE:",tt.encode('hex'),' - ',es.encode('hex')) print ("correct_es:",fichier) f=open(fichier,"w") f.write(debut_) f.close()
def confirm(self,fichier): if fichier[len(fichier)-3:]!="*.*": if fichier[len(fichier)-3:]!="*.xdc": if var.act==0: var.act=1 H=1 i = "".join(libx1.read_file_raw(fichier)) if len(i)>200: H=2 if len(i)>500: H=3 if len(i)>1000: H=4 if len(i)>2000: H=5 if len(i)>50000: H=6 if len(i)>100000: H=7 n,N=0,H if var.mode=="compr": while n<N: os.system("python main_launch.py "+fichier+".x1"*(n)+" "+var.mode+" "+str(var.simu)) if n>0: os.remove(fichier+".x1"*(n)) n=n+1 ##libxdc.make_qr(tmp,fichier+".x1"*(n+1)) else: os.system("python main_launch.py "+fichier+" "+var.mode+" "+str(var.simu)) var.act=0
addr = (serv_address, 21568) UDPSock.sendto(data,addr) time.sleep(2) data = "".join(dta) #ENVOI DE LA REQUETE addr = (serv_address, 21568) UDPSock.sendto(data,addr) time.sleep(2) data = "STOP\n" #ENVOI DE LA REQUETE addr = (serv_address, 21568) UDPSock.sendto(data,addr) print (">>hash") libx1.write_file_hash(fichier+".x1",sign,eS) tmpz=libx1.read_file_raw(fichier+".x1") tmp="".join(tmpz) ##ntmp=str(number) ##if len(ntmp)<4: ntmp="0"*(4-len(ntmp))+ntmp ##tmpz.insert(0,ntmp) libx1.write_file_hash(fichier+".x1",tmpz,eS) tmp=tmp.encode('hex') print ("tmp:",len(tmp)) #libxdc.make_qr(tmp,fichier+".x1") sign,eS="","" os.remove(dico) dta,dico="","" print ("Compression terminée.") time.sleep(2)
f.write(debut_) f.close() #DEBUT DU CODE PRINCIPAL dirroot="/home/cyril/dispo/" dt,sn="","" dta,sign=[],[] m="None" while True: if state==0: data,addr = UDPSock.recvfrom(1000000000)#SIGN, DATA, sign_from if state==1: data,addr = UDPSock.recvfrom(8) if state==999: data,state="".join(libx1.read_file_raw(dernier)),0 os.remove(dernier) if len(data.strip()) > 4: if state==0: dt=[] if len(data)>0: print "reception - " ,data.encode('hex') name_f=str(random.randint(0,1000000))+".x1" f=open(name_f,'append') f.write(data.strip()) f.close() n=16 while n<len(data.strip()): dt.append(libx1.find_data(data[n:][:16])) n=n+16
dta=[] if mode=="decompr": if fichier[len(fichier)-3:]==".gz": libx1._x1_decompress_gzip_(fichier) dico=fichier+".x1.xdc" dta = libx1.read_block_data(fichier) if len("".join(dta))>55000: print ("Erreur: Le fichier est trop lourd.") else: e=len(dta) n=0 p = Pool(5) sign=libx1.read_file_raw(fichier) tmp="" p='' print ("Envoi des signatures") UDPSock=socket.socket(socket.AF_INET, socket.SOCK_DGRAM) data = "-2IN\n" #ENVOI DE LA REQUETE addr = (serv_address, 21567) UDPSock.sendto(data,addr) time.sleep(1) data = "".join(sign) #ENVOI DE LA REQUETE addr = (serv_address, 21567) UDPSock.sendto(data,addr) J=libx1.count_x1(fichier) n=1 while n<J: