|
@@ -2698,34 +2698,39 @@ class FFmpegExtractAudioPP(PostProcessor):
|
|
|
information['filepath'] = new_path
|
|
|
return information
|
|
|
|
|
|
-### MAIN PROGRAM ###
|
|
|
+
|
|
|
+def updateSelf(downloader, filename):
|
|
|
+ ''' Update the program file with the latest version from the repository '''
|
|
|
+ # Note: downloader only used for options
|
|
|
+ if not os.access(filename, os.W_OK):
|
|
|
+ sys.exit('ERROR: no write permissions on %s' % filename)
|
|
|
+
|
|
|
+ downloader.to_screen('Updating to latest stable version...')
|
|
|
+
|
|
|
+ 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()
|
|
|
+ except (IOError, OSError), err:
|
|
|
+ sys.exit('ERROR: unable to download latest version')
|
|
|
+
|
|
|
+ try:
|
|
|
+ stream = open(filename, 'w')
|
|
|
+ stream.write(newcontent)
|
|
|
+ stream.close()
|
|
|
+ except (IOError, OSError), err:
|
|
|
+ sys.exit('ERROR: unable to overwrite current version')
|
|
|
+
|
|
|
+ downloader.to_screen('Updated to version %s' % latest_version)
|
|
|
+
|
|
|
+
|
|
|
if __name__ == '__main__':
|
|
|
try:
|
|
|
# Modules needed only when running the main program
|
|
|
import getpass
|
|
|
import optparse
|
|
|
|
|
|
- # Function to update the program file with the latest version from the repository.
|
|
|
- def update_self(downloader, filename):
|
|
|
- # Note: downloader only used for options
|
|
|
- if not os.access(filename, os.W_OK):
|
|
|
- sys.exit('ERROR: no write permissions on %s' % filename)
|
|
|
-
|
|
|
- downloader.to_screen('Updating to latest stable version...')
|
|
|
- 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()
|
|
|
- except (IOError, OSError), err:
|
|
|
- sys.exit('ERROR: unable to download latest version')
|
|
|
- try:
|
|
|
- stream = open(filename, 'w')
|
|
|
- stream.write(newcontent)
|
|
|
- stream.close()
|
|
|
- except (IOError, OSError), err:
|
|
|
- sys.exit('ERROR: unable to overwrite current version')
|
|
|
- downloader.to_screen('Updated to version %s' % latest_version)
|
|
|
|
|
|
# Parse command line
|
|
|
parser = optparse.OptionParser(
|
|
@@ -2981,7 +2986,7 @@ if __name__ == '__main__':
|
|
|
|
|
|
# Update version
|
|
|
if opts.update_self:
|
|
|
- update_self(fd, sys.argv[0])
|
|
|
+ updateSelf(fd, sys.argv[0])
|
|
|
|
|
|
# Maybe do nothing
|
|
|
if len(all_urls) < 1:
|