diff options
author | Rogério Brito <rbrito@ime.usp.br> | 2011-02-17 09:17:30 -0200 |
---|---|---|
committer | Rogério Brito <rbrito@ime.usp.br> | 2011-02-17 09:17:30 -0200 |
commit | 7f69fd3b3910b76358ee7cf03dcfe656643eca34 (patch) | |
tree | c664977df55a10c595b82d39aaaa2ef9e6049bea | |
parent | a7e5259c33851725243b13f01929e75bb40e0ea2 (diff) | |
parent | 7cc3c6fd62d82bac36c583a8d1dc6c2f6da8c178 (diff) | |
download | youtube-dl-7f69fd3b3910b76358ee7cf03dcfe656643eca34.tar.gz youtube-dl-7f69fd3b3910b76358ee7cf03dcfe656643eca34.tar.bz2 youtube-dl-7f69fd3b3910b76358ee7cf03dcfe656643eca34.zip |
Merge branch 'master' into vimeo
-rwxr-xr-x | youtube-dl | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/youtube-dl b/youtube-dl index 780a6d9a2..0e837868f 100755 --- a/youtube-dl +++ b/youtube-dl @@ -2213,7 +2213,7 @@ class YahooSearchIE(InfoExtractor): class YoutubePlaylistIE(InfoExtractor): """Information Extractor for YouTube playlists.""" - _VALID_URL = r'(?:http://)?(?:\w+\.)?youtube.com/(?:(?:view_play_list|my_playlists|artist)\?.*?(p|a)=|user/.*?/user/|p/)([^&]+).*' + _VALID_URL = r'(?:http://)?(?:\w+\.)?youtube.com/(?:(?:view_play_list|my_playlists|artist)\?.*?(p|a)=|user/.*?/user/|p/|user/.*?#[pg]/c/)([0-9A-Za-z]+)(?:/.*?/([0-9A-Za-z_-]+))?.*' _TEMPLATE_URL = 'http://www.youtube.com/%s?%s=%s&page=%s&gl=US&hl=en' _VIDEO_INDICATOR = r'/watch\?v=(.+?)&' _MORE_PAGES_INDICATOR = r'(?m)>\s*Next\s*</a>' @@ -2241,12 +2241,18 @@ class YoutubePlaylistIE(InfoExtractor): self._downloader.trouble(u'ERROR: invalid url: %s' % url) return + # Single video case + if mobj.group(3) is not None: + self._youtube_ie.extract(mobj.group(3)) + return + # Download playlist pages # prefix is 'p' as default for playlists but there are other types that need extra care playlist_prefix = mobj.group(1) if playlist_prefix == 'a': playlist_access = 'artist' else: + playlist_prefix = 'p' playlist_access = 'view_play_list' playlist_id = mobj.group(2) video_ids = [] |