|
@ -15,6 +15,8 @@ __author__ = ( |
|
|
__license__ = 'Public Domain' |
|
|
__license__ = 'Public Domain' |
|
|
__version__ = '2011.08.28-phihag' |
|
|
__version__ = '2011.08.28-phihag' |
|
|
|
|
|
|
|
|
|
|
|
UPDATE_URL = 'https://raw.github.com/phihag/youtube-dl/master/youtube-dl' |
|
|
|
|
|
|
|
|
import cookielib |
|
|
import cookielib |
|
|
import datetime |
|
|
import datetime |
|
|
import gzip |
|
|
import gzip |
|
@ -3071,24 +3073,27 @@ def updateSelf(downloader, filename): |
|
|
if not os.access(filename, os.W_OK): |
|
|
if not os.access(filename, os.W_OK): |
|
|
sys.exit('ERROR: no write permissions on %s' % filename) |
|
|
sys.exit('ERROR: no write permissions on %s' % filename) |
|
|
|
|
|
|
|
|
downloader.to_screen('Updating to latest stable version...') |
|
|
|
|
|
|
|
|
downloader.to_screen('Updating to latest version...') |
|
|
|
|
|
|
|
|
try: |
|
|
try: |
|
|
latest_url = 'http://github.com/rg3/youtube-dl/raw/master/LATEST_VERSION' |
|
|
|
|
|
latest_version = urllib.urlopen(latest_url).read().strip() |
|
|
|
|
|
prog_url = 'http://github.com/rg3/youtube-dl/raw/%s/youtube-dl' % latest_version |
|
|
|
|
|
newcontent = urllib.urlopen(prog_url).read() |
|
|
|
|
|
|
|
|
try: |
|
|
|
|
|
urlh = urllib.urlopen(UPDATE_URL) |
|
|
|
|
|
newcontent = urlh.read() |
|
|
|
|
|
finally: |
|
|
|
|
|
urlh.close() |
|
|
except (IOError, OSError), err: |
|
|
except (IOError, OSError), err: |
|
|
sys.exit('ERROR: unable to download latest version') |
|
|
sys.exit('ERROR: unable to download latest version') |
|
|
|
|
|
|
|
|
try: |
|
|
try: |
|
|
stream = open(filename, 'wb') |
|
|
|
|
|
stream.write(newcontent) |
|
|
|
|
|
stream.close() |
|
|
|
|
|
|
|
|
outf = open(filename, 'wb') |
|
|
|
|
|
try: |
|
|
|
|
|
outf.write(newcontent) |
|
|
|
|
|
finally: |
|
|
|
|
|
outf.close() |
|
|
except (IOError, OSError), err: |
|
|
except (IOError, OSError), err: |
|
|
sys.exit('ERROR: unable to overwrite current version') |
|
|
sys.exit('ERROR: unable to overwrite current version') |
|
|
|
|
|
|
|
|
downloader.to_screen('Updated to version %s' % latest_version) |
|
|
|
|
|
|
|
|
downloader.to_screen('Updated youtube-dl. Restart to use the new version.') |
|
|
|
|
|
|
|
|
def parseOpts(): |
|
|
def parseOpts(): |
|
|
# Deferred imports |
|
|
# Deferred imports |
|
|