Exemple #1
0
def update_fetch():
	text=[]
	text.append("Checking web for updates...")

#	disk_files=[]
	web_src=[]
	disk_dest=[]

	update_path="http://www.gpvdm.com/update_windows/"+ver()+"/"
	lines=get_data_from_web(update_path+"list.dat")
	print("Got file list")
	lines=lines.split('\n')
	files=[]
	md5=[]
	web_md5=[]
	for i in range(0,len(lines)):
		if lines[i].count("  ")!=0:
			m,f=lines[i].split("  ")
			f=f[2:].split("/")
			md5.append(m)
			files.append(f)

	for i in range(0,len(files)):

		root=files[i][0]
		if root=="images" or root=="solvers" or root=="gpvdm_core.exe" or root=="device_lib" or root=="sim.gpvdm" or root=="lang" or root=="materials" or root=="light":
			md5_web=md5[i]
			md5_disk="none"
			disk_path=os.path.join(get_share_path(),"/".join(files[i]))
			web_path=update_path+"/".join(files[i])
			if os.path.isfile(disk_path):
				md5_disk=hashlib.md5(open(disk_path,'rb').read()).hexdigest()

			if md5_web!=md5_disk:
				web_src.append(web_path)
				disk_dest.append(disk_path)
				web_md5.append(md5_web)

	for i in range(0,len(web_src)):
		text.append(web_src[i]+" "+disk_dest[i])
		a=get_data_from_web(web_src[i])
		l=len(a)
		if l>100:
			l=100;
		if a[:l].count("403 Forbidden")!=0:
			text.append("Access to file "+web_src[i]+" forbidden")
		else:
			web_hash=hashlib.md5(a).hexdigest()
			list_hash=web_md5[i]
			if web_hash==list_hash:
				text.append("updating file "+disk_dest[i])
				if running_on_linux()==False:
					f=open(disk_dest[i], mode='wb')
					lines = f.write(a)
					f.close()
			else:
				text.append("Checksum error "+disk_dest[i])
	return text
Exemple #2
0
def update_fetch():
	text=[]
	text.append("Checking web for updates...")

#	disk_files=[]
	web_src=[]
	disk_dest=[]

	update_path="http://www.gpvdm.com/update_windows/"+ver()+"/"
	lines=get_data_from_web(update_path+"list.dat")
	print("Got file list")
	lines=lines.split('\n')
	files=[]
	md5=[]
	web_md5=[]
	for i in range(0,len(lines)):
		if lines[i].count("  ")!=0:
			m,f=lines[i].split("  ")
			f=f[2:].split("/")
			md5.append(m)
			files.append(f)

	for i in range(0,len(files)):

		root=files[i][0]
		if root=="images" or root=="solvers" or root=="gpvdm_core.exe" or root=="device_lib" or root=="sim.gpvdm" or root=="lang" or root=="materials" or root=="light":
			md5_web=md5[i]
			md5_disk="none"
			disk_path=os.path.join(get_share_path(),"/".join(files[i]))
			web_path=update_path+"/".join(files[i])
			if os.path.isfile(disk_path):
				md5_disk=hashlib.md5(open(disk_path,'rb').read()).hexdigest()

			if md5_web!=md5_disk:
				web_src.append(web_path)
				disk_dest.append(disk_path)
				web_md5.append(md5_web)

	for i in range(0,len(web_src)):
		text.append(web_src[i]+" "+disk_dest[i])
		a=get_data_from_web(web_src[i])
		l=len(a)
		if l>100:
			l=100;
		if a[:l].count("403 Forbidden")!=0:
			text.append("Access to file "+web_src[i]+" forbidden")
		else:
			web_hash=hashlib.md5(a).hexdigest()
			list_hash=web_md5[i]
			if web_hash==list_hash:
				text.append("updating file "+disk_dest[i])
				if running_on_linux()==False:
					f=open(disk_dest[i], mode='wb')
					lines = f.write(a)
					f.close()
			else:
				text.append("Checksum error "+disk_dest[i])
	return text
	def tx_error(self,n):
		page="http://www.gpvdm.com/bug.html?ver_core="+ver_core()+"error="+quote(self.error)
		message=get_data_from_web(page)
		print("from web:",message)
		if message.startswith("ok")==True:
			self.reported.emit(True)
		else:
			self.reported.emit(False)
Exemple #4
0
	def tx_error(self,n):
		page="http://www.gpvdm.com/bug.html?ver_core="+ver_core()+"."+ver_subver()+"error="+quote(self.error)
		message=get_data_from_web(page)
		print("from web:",message)
		if message.startswith("ok")==True:
			self.reported.emit(True)
		else:
			self.reported.emit(False)
Exemple #5
0
	def get_from_web(self,url):
			page="http://www.gpvdm.com/download_windows/update.php?ver_core="+ver_core()+"."+ver_subver()+"&uid="+uid_get()+"&os="+platform.platform()+"&opengl="+is_open_gl_working()+"&lang="+get_full_language()+"&bugs="+bugs_to_url()+"&disk_speed="+get_disk_speed()
			message=get_data_from_web(page)

			message=message.split("\n")
			#print(message)
			self.text=""
			if message[0].startswith("update"):
				token,ver=message[0].split("#")
				self.text="Version "+ver+" of opvdm is now available."
			self.got_data.emit(self.text)
Exemple #6
0
	def get_from_web(self,url):
			page="http://www.gpvdm.com/download_windows/update.php?ver_core="+ver_core()+"&ver_mat="+ver_mat()+"&os="+platform.platform()+"&opengl="+is_open_gl_working()
			message=get_data_from_web(page)

			message=message.split("\n")
			print(message)
			self.text=""
			if message[0].startswith("update"):
				token,ver=message[0].split("#")
				self.text="Version "+ver+" of opvdm is now available."
			self.got_data.emit(self.text)