diff options
Diffstat (limited to 'youtube_dl/extractor/youtube.py')
| -rw-r--r-- | youtube_dl/extractor/youtube.py | 19 | 
1 files changed, 15 insertions, 4 deletions
| diff --git a/youtube_dl/extractor/youtube.py b/youtube_dl/extractor/youtube.py index 89759a1cb..4aac2cc03 100644 --- a/youtube_dl/extractor/youtube.py +++ b/youtube_dl/extractor/youtube.py @@ -1775,6 +1775,10 @@ class YoutubeChannelIE(YoutubePlaylistBaseInfoExtractor):          },      }] +    @classmethod +    def suitable(cls, url): +        return False if YoutubePlaylistsIE.suitable(url) else super(YoutubeChannelIE, cls).suitable(url) +      def _real_extract(self, url):          channel_id = self._match_id(url) @@ -1848,10 +1852,10 @@ class YoutubeUserIE(YoutubeChannelIE):              return super(YoutubeUserIE, cls).suitable(url) -class YoutubeUserPlaylistsIE(YoutubePlaylistsBaseInfoExtractor): -    IE_DESC = 'YouTube.com user playlists' -    _VALID_URL = r'https?://(?:\w+\.)?youtube\.com/user/(?P<id>[^/]+)/playlists' -    IE_NAME = 'youtube:user:playlists' +class YoutubePlaylistsIE(YoutubePlaylistsBaseInfoExtractor): +    IE_DESC = 'YouTube.com user/channel playlists' +    _VALID_URL = r'https?://(?:\w+\.)?youtube\.com/(?:user|channel)/(?P<id>[^/]+)/playlists' +    IE_NAME = 'youtube:playlists'      _TESTS = [{          'url': 'http://www.youtube.com/user/ThirstForScience/playlists', @@ -1868,6 +1872,13 @@ class YoutubeUserPlaylistsIE(YoutubePlaylistsBaseInfoExtractor):              'id': 'igorkle1',              'title': 'Игорь Клейнер',          }, +    }, { +        'url': 'https://www.youtube.com/channel/UCiU1dHvZObB2iP6xkJ__Icw/playlists', +        'playlist_mincount': 17, +        'info_dict': { +            'id': 'UCiU1dHvZObB2iP6xkJ__Icw', +            'title': 'Chem Player', +        },      }] | 
