moved docs and updates generation scripts from gh-pages branch to devscripts
[youtube-dl] / devscripts / gh-pages / generate-download.py
diff --git a/devscripts/gh-pages/generate-download.py b/devscripts/gh-pages/generate-download.py
new file mode 100755 (executable)
index 0000000..f19729f
--- /dev/null
@@ -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)