moved docs and updates generation scripts from gh-pages branch to devscripts
This commit is contained in:
		
							parent
							
								
									8cad53e84c
								
							
						
					
					
						commit
						067f6a3536
					
				
					 3 changed files with 84 additions and 0 deletions
				
			
		
							
								
								
									
										33
									
								
								devscripts/gh-pages/generate-download.py
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										33
									
								
								devscripts/gh-pages/generate-download.py
									
										
									
									
									
										Executable file
									
								
							| 
						 | 
					@ -0,0 +1,33 @@
 | 
				
			||||||
 | 
					#!/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)
 | 
				
			||||||
							
								
								
									
										30
									
								
								devscripts/gh-pages/sign_versions.py
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										30
									
								
								devscripts/gh-pages/sign_versions.py
									
										
									
									
									
										Executable file
									
								
							| 
						 | 
					@ -0,0 +1,30 @@
 | 
				
			||||||
 | 
					#! /usr/bin/env python3
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import rsa
 | 
				
			||||||
 | 
					import json
 | 
				
			||||||
 | 
					from binascii import hexlify
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# TODO path discovery
 | 
				
			||||||
 | 
					versions_info = json.load(open('update/versions.json'))
 | 
				
			||||||
 | 
					if 'signature' in versions_info:
 | 
				
			||||||
 | 
						del versions_info['signature']
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					print('Enter the PKCS1 private key, followed by a blank line:')
 | 
				
			||||||
 | 
					privkey = ''
 | 
				
			||||||
 | 
					while True:
 | 
				
			||||||
 | 
						try:
 | 
				
			||||||
 | 
							line = input()
 | 
				
			||||||
 | 
						except EOFError:
 | 
				
			||||||
 | 
							break
 | 
				
			||||||
 | 
						if line == '':
 | 
				
			||||||
 | 
							break
 | 
				
			||||||
 | 
						privkey += line + '\n'
 | 
				
			||||||
 | 
					privkey = bytes(privkey, 'ascii')
 | 
				
			||||||
 | 
					privkey = rsa.PrivateKey.load_pkcs1(privkey)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					signature = hexlify(rsa.pkcs1.sign(json.dumps(versions_info, sort_keys=True).encode('utf-8'), privkey, 'SHA-256')).decode()
 | 
				
			||||||
 | 
					print('signature: ' + signature)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					versions_info['signature'] = signature
 | 
				
			||||||
 | 
					json.dump(versions_info, open('update/versions.json', 'w'), indent=4, sort_keys=True)
 | 
				
			||||||
							
								
								
									
										21
									
								
								devscripts/gh-pages/update-copyright.py
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										21
									
								
								devscripts/gh-pages/update-copyright.py
									
										
									
									
									
										Executable file
									
								
							| 
						 | 
					@ -0,0 +1,21 @@
 | 
				
			||||||
 | 
					#!/usr/bin/env python
 | 
				
			||||||
 | 
					# coding: utf-8
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					from __future__ import with_statement
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import datetime
 | 
				
			||||||
 | 
					import glob
 | 
				
			||||||
 | 
					import io # For Python 2 compatibilty
 | 
				
			||||||
 | 
					import os
 | 
				
			||||||
 | 
					import re
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					year = str(datetime.datetime.now().year)
 | 
				
			||||||
 | 
					for fn in glob.glob('*.html*'):
 | 
				
			||||||
 | 
					    with io.open(fn, encoding='utf-8') as f:
 | 
				
			||||||
 | 
					        content = f.read()
 | 
				
			||||||
 | 
					    newc = re.sub(u'(?P<copyright>Copyright © 2006-)(?P<year>[0-9]{4})', u'Copyright © 2006-' + year, content)
 | 
				
			||||||
 | 
					    if content != newc:
 | 
				
			||||||
 | 
					        tmpFn = fn + '.part'
 | 
				
			||||||
 | 
					        with io.open(tmpFn, 'wt', encoding='utf-8') as outf:
 | 
				
			||||||
 | 
					            outf.write(newc)
 | 
				
			||||||
 | 
					        os.rename(tmpFn, fn)
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue