[youtube] Construct a playlist URL in case the page is missing one
authorIvan Kozik <ivan@ludios.org>
Sat, 30 May 2015 20:50:22 +0000 (20:50 +0000)
committerIvan Kozik <ivan@ludios.org>
Sat, 30 May 2015 20:54:03 +0000 (20:54 +0000)
This fixes jumping from user/channel -> playlist for some users like
https://www.youtube.com/user/BitcoinFoundation

This also removes the superfluous log message
"add --no-playlist to just download video VIDEOID"
when downloading a user/channel.

youtube_dl/extractor/youtube.py

index fcdbfe0bc959a011bebf8656184fe164b3eca84a..aacb999ce9044ba07af7597d03b34e1aa37ebddd 100644 (file)
@@ -1412,12 +1412,8 @@ class YoutubeChannelIE(InfoExtractor):
             channel_page, 'channel id', default=None)
         if channel_playlist_id and channel_playlist_id.startswith('UC'):
             playlist_id = 'UU' + channel_playlist_id[2:]
-            channel_playlist = unescapeHTML(self._search_regex(
-                r'href="/?(watch\?v=[0-9A-Za-z_-]{11}&amp;list=%s)"' % playlist_id,
-                channel_page, 'channel playlist URL', default=None))
-            if channel_playlist:
-                return self.url_result(
-                    compat_urlparse.urljoin(url, '/%s' % channel_playlist), 'YoutubePlaylist')
+            return self.url_result(
+                compat_urlparse.urljoin(url, '/playlist?list=%s' % playlist_id), 'YoutubePlaylist')
 
         channel_page = self._download_webpage(url, channel_id, 'Downloading page #1')
         autogenerated = re.search(r'''(?x)