+ # Function to update the program file with the latest version from bitbucket.org
+ 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_stdout('Updating to latest stable version...')
+ latest_url = 'http://bitbucket.org/rg3/youtube-dl/raw/tip/LATEST_VERSION'
+ latest_version = urllib.urlopen(latest_url).read().strip()
+ prog_url = 'http://bitbucket.org/rg3/youtube-dl/raw/%s/youtube-dl' % latest_version
+ newcontent = urllib.urlopen(prog_url).read()
+ stream = open(filename, 'w')
+ stream.write(newcontent)
+ stream.close()
+ downloader.to_stdout('Updated to version %s' % latest_version)
+