| 
									
										
										
										
											2012-12-11 17:34:33 +01:00
										 |  |  | #!/usr/bin/env python3 | 
					
						
							| 
									
										
										
										
											2010-10-31 23:50:48 +01:00
										 |  |  | import hashlib | 
					
						
							| 
									
										
										
										
											2012-12-11 17:34:33 +01:00
										 |  |  | import shutil | 
					
						
							| 
									
										
										
										
											2011-09-27 20:50:03 +02:00
										 |  |  | import subprocess | 
					
						
							| 
									
										
										
										
											2012-12-11 17:34:33 +01:00
										 |  |  | import tempfile | 
					
						
							|  |  |  | import urllib.request | 
					
						
							| 
									
										
										
										
											2011-09-27 20:50:03 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-12-11 17:34:33 +01:00
										 |  |  | URL = 'https://github.com/downloads/rg3/youtube-dl/youtube-dl' | 
					
						
							| 
									
										
										
										
											2010-10-31 23:50:48 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-12-11 17:34:33 +01:00
										 |  |  | with tempfile.NamedTemporaryFile(suffix='youtube-dl', delete=True) as ytdl_file: | 
					
						
							|  |  |  |     with urllib.request.urlopen(URL) as dl: | 
					
						
							|  |  |  |         shutil.copyfileobj(dl, ytdl_file) | 
					
						
							| 
									
										
										
										
											2010-10-31 23:50:48 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-12-11 17:34:33 +01:00
										 |  |  |     ytdl_file.seek(0) | 
					
						
							|  |  |  |     data = ytdl_file.read() | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     ytdl_file.flush() | 
					
						
							|  |  |  |     version = subprocess.check_output(['python3', ytdl_file.name, '--version']).decode('ascii').strip() | 
					
						
							| 
									
										
										
										
											2010-10-31 23:50:48 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-12-11 17:34:33 +01:00
										 |  |  | # Read template page | 
					
						
							|  |  |  | with open('download.html.in', 'r', encoding='utf-8') as tmplf: | 
					
						
							|  |  |  |     template = tmplf.read() | 
					
						
							| 
									
										
										
										
											2011-09-27 20:50:03 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-10-31 23:50:48 +01:00
										 |  |  | md5sum = hashlib.md5(data).hexdigest() | 
					
						
							|  |  |  | sha1sum = hashlib.sha1(data).hexdigest() | 
					
						
							|  |  |  | sha256sum = hashlib.sha256(data).hexdigest() | 
					
						
							|  |  |  | template = template.replace('@PROGRAM_VERSION@', version) | 
					
						
							| 
									
										
										
										
											2012-12-11 17:34:33 +01:00
										 |  |  | template = template.replace('@PROGRAM_URL@', URL) | 
					
						
							| 
									
										
										
										
											2010-10-31 23:50:48 +01:00
										 |  |  | template = template.replace('@PROGRAM_MD5SUM@', md5sum) | 
					
						
							|  |  |  | template = template.replace('@PROGRAM_SHA1SUM@', sha1sum) | 
					
						
							|  |  |  | template = template.replace('@PROGRAM_SHA256SUM@', sha256sum) | 
					
						
							| 
									
										
										
										
											2012-12-11 17:34:33 +01:00
										 |  |  | with open('download.html', 'w', encoding='utf-8') as dlf: | 
					
						
							|  |  |  |     dlf.write(template) |