summary refs log tree commit diff
diff options
context:
space:
mode:
authorPhilipp Hagemeister <phihag@phihag.de>2012-12-11 17:34:33 +0100
committerPhilipp Hagemeister <phihag@phihag.de>2012-12-11 17:34:33 +0100
commit8c64aa48d26faece135a8a57a5986fef64fd50a5 (patch)
tree6572c7939895aff3e2709774eeb484ba21697292
parent8c3a45b6e479643ea99061441122020691c664ff (diff)
downloadyoutube-dl-8c64aa48d26faece135a8a57a5986fef64fd50a5.tar.gz
youtube-dl-8c64aa48d26faece135a8a57a5986fef64fd50a5.tar.xz
youtube-dl-8c64aa48d26faece135a8a57a5986fef64fd50a5.zip
New generate-download for the new build mechanism
-rwxr-xr-xgenerate-download39
1 files changed, 19 insertions, 20 deletions
diff --git a/generate-download b/generate-download
index 4fb6ce004..f19729f59 100755
--- a/generate-download
+++ b/generate-download
@@ -1,34 +1,33 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
 import hashlib
-import os.path
+import shutil
 import subprocess
+import tempfile
+import urllib.request
 
-try:
-	from subprocess import check_output
-except ImportError: # Python < 2.7
-	def check_output(*args, **kwargs):
-		p = subprocess.Popen(*args, stdout=subprocess.PIPE, **kwargs)
-		out,err = p.communicate()
-		if p.returncode != 0:
-			raise subprocess.CalledProcessError(p.returncode, args)
-		return out
+URL = 'https://github.com/downloads/rg3/youtube-dl/youtube-dl'
 
-youtubeDlDir = os.path.join(os.path.dirname(__file__), '..', '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)
 
-# Read template page
-template = file('download.html.in', 'r').read()
+    ytdl_file.seek(0)
+    data = ytdl_file.read()
+
+    ytdl_file.flush()
+    version = subprocess.check_output(['python3', ytdl_file.name, '--version']).decode('ascii').strip()
 
-# Build replacement strings
-version = check_output([os.path.join(youtubeDlDir, 'youtube-dl'), '--version']).strip()
-data = check_output(['git', 'show', '%s:youtube-dl' % version], cwd=youtubeDlDir)
+# Read template page
+with open('download.html.in', 'r', encoding='utf-8') as tmplf:
+    template = tmplf.read()
 
-url = 'https://github.com/rg3/youtube-dl/raw/%s/youtube-dl' % version
 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_URL@', URL)
 template = template.replace('@PROGRAM_MD5SUM@', md5sum)
 template = template.replace('@PROGRAM_SHA1SUM@', sha1sum)
 template = template.replace('@PROGRAM_SHA256SUM@', sha256sum)
-file('download.html', 'w').write(template)
+with open('download.html', 'w', encoding='utf-8') as dlf:
+    dlf.write(template)