diff options
Diffstat (limited to 'youtube_dl/extractor/youtube.py')
| -rw-r--r-- | youtube_dl/extractor/youtube.py | 15 | 
1 files changed, 7 insertions, 8 deletions
| diff --git a/youtube_dl/extractor/youtube.py b/youtube_dl/extractor/youtube.py index 5dd2de5ee..765c690f1 100644 --- a/youtube_dl/extractor/youtube.py +++ b/youtube_dl/extractor/youtube.py @@ -1422,7 +1422,7 @@ class YoutubeIE(YoutubeBaseInfoExtractor, SubtitlesInfoExtractor):  class YoutubePlaylistIE(YoutubeBaseInfoExtractor):      IE_DESC = u'YouTube.com playlists' -    _VALID_URL = r"""(?: +    _VALID_URL = r"""(?x)(?:                          (?:https?://)?                          (?:\w+\.)?                          youtube\.com/ @@ -1431,7 +1431,11 @@ class YoutubePlaylistIE(YoutubeBaseInfoExtractor):                             \? (?:.*?&)*? (?:p|a|list)=                          |  p/                          ) -                        ((?:PL|EC|UU|FL|RD)?[0-9A-Za-z-_]{10,}) +                        ( +                            (?:PL|EC|UU|FL|RD)?[0-9A-Za-z-_]{10,} +                            # Top tracks, they can also include dots  +                            |(?:MC)[\w\.]* +                        )                          .*                       |                          ((?:PL|EC|UU|FL|RD)[0-9A-Za-z-_]{10,}) @@ -1441,11 +1445,6 @@ class YoutubePlaylistIE(YoutubeBaseInfoExtractor):      _VIDEO_RE = r'href="/watch\?v=(?P<id>[0-9A-Za-z_-]{11})&[^"]*?index=(?P<index>\d+)'      IE_NAME = u'youtube:playlist' -    @classmethod -    def suitable(cls, url): -        """Receives a URL and returns True if suitable for this IE.""" -        return re.match(cls._VALID_URL, url, re.VERBOSE) is not None -      def _real_initialize(self):          self._login() @@ -1469,7 +1468,7 @@ class YoutubePlaylistIE(YoutubeBaseInfoExtractor):      def _real_extract(self, url):          # Extract playlist id -        mobj = re.match(self._VALID_URL, url, re.VERBOSE) +        mobj = re.match(self._VALID_URL, url)          if mobj is None:              raise ExtractorError(u'Invalid URL: %s' % url)          playlist_id = mobj.group(1) or mobj.group(2) | 
