aboutsummaryrefslogtreecommitdiff
path: root/devscripts/gh-pages/generate-download.py
diff options
context:
space:
mode:
authorFilippo Valsorda <filippo.valsorda@gmail.com>2012-12-30 21:02:19 +0100
committerFilippo Valsorda <filippo.valsorda@gmail.com>2012-12-30 21:02:19 +0100
commit067f6a3536cfd8338c1d17400128d5cec405bce7 (patch)
tree905602b40111fc1339fca6d5115e17d517193e36 /devscripts/gh-pages/generate-download.py
parent8cad53e84c0e291b34df81201c27ba0323471a66 (diff)
moved docs and updates generation scripts from gh-pages branch to devscripts
Diffstat (limited to 'devscripts/gh-pages/generate-download.py')
-rwxr-xr-xdevscripts/gh-pages/generate-download.py33
1 files changed, 33 insertions, 0 deletions
diff --git a/devscripts/gh-pages/generate-download.py b/devscripts/gh-pages/generate-download.py
new file mode 100755
index 000000000..f19729f59
--- /dev/null
+++ b/devscripts/gh-pages/generate-download.py
@@ -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)