Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

transplant ceba827, d891ff9, 69d3b2d, 0719406

  • Loading branch information...
commit 74a5ff5f43fcdf4e1de2375b3edabd69ee78ebae 1 parent 0719406
@FiloSottile authored
Showing with 8 additions and 0 deletions.
  1. +1 −0  youtube-dl
  2. +7 −0 youtube_dl/__init__.py
View
1  youtube-dl
@@ -15,6 +15,7 @@ __authors__ = (
'Kevin Ngo',
'Ori Avtalion',
'shizeeg',
+ 'Filippo Valsorda',
)
__license__ = 'Public Domain'
View
7 youtube_dl/__init__.py
@@ -1176,6 +1176,7 @@ class YoutubeIE(InfoExtractor):
_LANG_URL = r'http://www.youtube.com/?hl=en&persist_hl=1&gl=US&persist_gl=1&opt_out_ackd=1'
_LOGIN_URL = 'https://www.youtube.com/signup?next=/&gl=US&hl=en'
_AGE_URL = 'http://www.youtube.com/verify_age?next_url=/&gl=US&hl=en'
+ _NEXT_URL_RE = r'[\?&]next_url=([^&]+)'
_NETRC_MACHINE = 'youtube'
# Listed in order of quality
_available_formats = ['38', '37', '22', '45', '35', '44', '34', '18', '43', '6', '5', '17', '13']
@@ -1336,6 +1337,11 @@ def _real_initialize(self):
return
def _real_extract(self, url):
+ # Extract original video URL from URL with redirection, like age verification, using next_url parameter
+ mobj = re.search(self._NEXT_URL_RE, url)
+ if mobj:
+ url = 'http://www.youtube.com/' + urllib.unquote(mobj.group(1)).lstrip('/')
+
# Extract video id from URL
mobj = re.match(self._VALID_URL, url)
if mobj is None:
@@ -4564,6 +4570,7 @@ def _real_main():
except IOError:
sys.exit(u'ERROR: batch file could not be read')
all_urls = batchurls + args
+ all_urls = map(lambda url: url.strip(), all_urls)
# General configuration
cookie_processor = urllib2.HTTPCookieProcessor(jar)

0 comments on commit 74a5ff5

Please sign in to comment.
Something went wrong with that request. Please try again.