mirror of
https://github.com/l1ving/youtube-dl
synced 2024-11-22 05:22:54 +08:00
c7287a3caf
placed fake binaries that update themselves where old versions updating will search for the new version
41 lines
1.2 KiB
Python
41 lines
1.2 KiB
Python
#!/usr/bin/env python
|
|
|
|
import sys, os
|
|
|
|
try:
|
|
import urllib.request as compat_urllib_request
|
|
except ImportError: # Python 2
|
|
import urllib2 as compat_urllib_request
|
|
|
|
sys.stderr.write(u'Hi! We changed distribution method and now youtube-dl needs to update itself one more time.\n')
|
|
sys.stderr.write(u'This will only happen once. Simply press enter to go on. Sorry for the trouble!\n')
|
|
sys.stderr.write(u'The new location of the binaries is https://github.com/rg3/youtube-dl/downloads, not the git repository.\n\n')
|
|
|
|
try:
|
|
raw_input()
|
|
except NameError: # Python 3
|
|
input()
|
|
|
|
filename = sys.argv[0]
|
|
|
|
API_URL = "https://api.github.com/repos/rg3/youtube-dl/downloads"
|
|
BIN_URL = "https://github.com/downloads/rg3/youtube-dl/youtube-dl"
|
|
|
|
if not os.access(filename, os.W_OK):
|
|
sys.exit('ERROR: no write permissions on %s' % filename)
|
|
|
|
try:
|
|
urlh = compat_urllib_request.urlopen(BIN_URL)
|
|
newcontent = urlh.read()
|
|
urlh.close()
|
|
except (IOError, OSError) as err:
|
|
sys.exit('ERROR: unable to download latest version')
|
|
|
|
try:
|
|
with open(filename, 'wb') as outf:
|
|
outf.write(newcontent)
|
|
except (IOError, OSError) as err:
|
|
sys.exit('ERROR: unable to overwrite current version')
|
|
|
|
sys.stderr.write(u'Done! Now you can run youtube-dl.\n')
|