34 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Python
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			34 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Python
		
	
	
		
			Executable File
		
	
	
	
	
| #!/usr/bin/env python3
 | |
| import hashlib
 | |
| import shutil
 | |
| import subprocess
 | |
| import tempfile
 | |
| import urllib.request
 | |
| 
 | |
| URL = 'https://github.com/downloads/rg3/youtube-dl/youtube-dl'
 | |
| 
 | |
| with tempfile.NamedTemporaryFile(suffix='youtube-dl', delete=True) as ytdl_file:
 | |
|     with urllib.request.urlopen(URL) as dl:
 | |
|         shutil.copyfileobj(dl, ytdl_file)
 | |
| 
 | |
|     ytdl_file.seek(0)
 | |
|     data = ytdl_file.read()
 | |
| 
 | |
|     ytdl_file.flush()
 | |
|     version = subprocess.check_output(['python3', ytdl_file.name, '--version']).decode('ascii').strip()
 | |
| 
 | |
| # Read template page
 | |
| with open('download.html.in', 'r', encoding='utf-8') as tmplf:
 | |
|     template = tmplf.read()
 | |
| 
 | |
| md5sum = hashlib.md5(data).hexdigest()
 | |
| sha1sum = hashlib.sha1(data).hexdigest()
 | |
| sha256sum = hashlib.sha256(data).hexdigest()
 | |
| template = template.replace('@PROGRAM_VERSION@', version)
 | |
| template = template.replace('@PROGRAM_URL@', URL)
 | |
| template = template.replace('@PROGRAM_MD5SUM@', md5sum)
 | |
| template = template.replace('@PROGRAM_SHA1SUM@', sha1sum)
 | |
| template = template.replace('@PROGRAM_SHA256SUM@', sha256sum)
 | |
| with open('download.html', 'w', encoding='utf-8') as dlf:
 | |
|     dlf.write(template)
 |