UPDATE_URL_EXE = 'https://raw.github.com/rg3/youtube-dl/master/youtube-dl.exe'
-import cookielib
import getpass
import optparse
import os
import socket
import subprocess
import sys
-import urllib2
import warnings
from utils import *
downloader.to_screen(u'Updating to latest version...')
- urlv = urllib2.urlopen(UPDATE_URL_VERSION)
+ urlv = compat_urllib_request.urlopen(UPDATE_URL_VERSION)
newversion = urlv.read().strip()
if newversion == __version__:
downloader.to_screen(u'youtube-dl is up-to-date (' + __version__ + ')')
sys.exit('ERROR: no write permissions on %s' % directory)
try:
- urlh = urllib2.urlopen(UPDATE_URL_EXE)
+ urlh = compat_urllib_request.urlopen(UPDATE_URL_EXE)
newcontent = urlh.read()
urlh.close()
with open(exe + '.new', 'wb') as outf:
outf.write(newcontent)
- except (IOError, OSError), err:
+ except (IOError, OSError) as err:
sys.exit('ERROR: unable to download latest version')
try:
b.close()
os.startfile(bat)
- except (IOError, OSError), err:
+ except (IOError, OSError) as err:
sys.exit('ERROR: unable to overwrite current version')
else:
try:
- urlh = urllib2.urlopen(UPDATE_URL)
+ urlh = compat_urllib_request.urlopen(UPDATE_URL)
newcontent = urlh.read()
urlh.close()
- except (IOError, OSError), err:
+ 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), err:
+ except (IOError, OSError) as err:
sys.exit('ERROR: unable to overwrite current version')
downloader.to_screen(u'Updated youtube-dl. Restart youtube-dl to use the new version.')
# Open appropriate CookieJar
if opts.cookiefile is None:
- jar = cookielib.CookieJar()
+ jar = compat_cookiejar.CookieJar()
else:
try:
- jar = cookielib.MozillaCookieJar(opts.cookiefile)
+ jar = compat_cookiejar.MozillaCookieJar(opts.cookiefile)
if os.path.isfile(opts.cookiefile) and os.access(opts.cookiefile, os.R_OK):
jar.load()
- except (IOError, OSError), err:
+ except (IOError, OSError) as err:
sys.exit(u'ERROR: unable to open cookie file')
# Set user agent
if opts.user_agent is not None:
# Dump user agent
if opts.dump_user_agent:
- print std_headers['User-Agent']
+ print(std_headers['User-Agent'])
sys.exit(0)
# Batch file verification
all_urls = map(lambda url: url.strip(), all_urls)
# General configuration
- cookie_processor = urllib2.HTTPCookieProcessor(jar)
- proxy_handler = urllib2.ProxyHandler()
- opener = urllib2.build_opener(proxy_handler, cookie_processor, YoutubeDLHandler())
- urllib2.install_opener(opener)
+ cookie_processor = compat_urllib_request.HTTPCookieProcessor(jar)
+ proxy_handler = compat_urllib_request.ProxyHandler()
+ opener = compat_urllib_request.build_opener(proxy_handler, cookie_processor, YoutubeDLHandler())
+ compat_urllib_request.install_opener(opener)
socket.setdefaulttimeout(300) # 5 minutes should be enough (famous last words)
extractors = gen_extractors()
if opts.retries is not None:
try:
opts.retries = int(opts.retries)
- except (TypeError, ValueError), err:
+ except (TypeError, ValueError) as err:
parser.error(u'invalid retry count specified')
if opts.buffersize is not None:
numeric_buffersize = FileDownloader.parse_bytes(opts.buffersize)
opts.playliststart = int(opts.playliststart)
if opts.playliststart <= 0:
raise ValueError(u'Playlist start must be positive')
- except (TypeError, ValueError), err:
+ except (TypeError, ValueError) as err:
parser.error(u'invalid playlist start number specified')
try:
opts.playlistend = int(opts.playlistend)
if opts.playlistend != -1 and (opts.playlistend <= 0 or opts.playlistend < opts.playliststart):
raise ValueError(u'Playlist end must be greater than playlist start')
- except (TypeError, ValueError), err:
+ except (TypeError, ValueError) as err:
parser.error(u'invalid playlist end number specified')
if opts.extractaudio:
if opts.audioformat not in ['best', 'aac', 'mp3', 'vorbis', 'm4a', 'wav']:
if opts.cookiefile is not None:
try:
jar.save()
- except (IOError, OSError), err:
+ except (IOError, OSError) as err:
sys.exit(u'ERROR: unable to save cookie jar')
sys.exit(retcode)