diff options
| author | Sergey M․ <dstftw@gmail.com> | 2017-02-04 23:21:07 +0700 | 
|---|---|---|
| committer | Sergey M․ <dstftw@gmail.com> | 2017-02-04 23:21:07 +0700 | 
| commit | 9db8f6c54021a9c809c8ae65a37544ad566ed159 (patch) | |
| tree | 4ec7b4883670fb3e75551bf5d1a5bb27d23e6ed9 /youtube_dl/extractor/twitch.py | |
| parent | 8e4041cf3f8e769ee2188f3db4747b7133ab5c2d (diff) | |
[twitch:stream] Improve _VALID_URL (closes #11971)
Diffstat (limited to 'youtube_dl/extractor/twitch.py')
| -rw-r--r-- | youtube_dl/extractor/twitch.py | 26 | 
1 files changed, 25 insertions, 1 deletions
| diff --git a/youtube_dl/extractor/twitch.py b/youtube_dl/extractor/twitch.py index 1ca159a4d..bbba394b0 100644 --- a/youtube_dl/extractor/twitch.py +++ b/youtube_dl/extractor/twitch.py @@ -447,7 +447,14 @@ class TwitchHighlightsIE(TwitchVideosBaseIE):  class TwitchStreamIE(TwitchBaseIE):      IE_NAME = 'twitch:stream' -    _VALID_URL = r'%s/(?P<id>[^/#?]+)/?(?:\#.*)?$' % TwitchBaseIE._VALID_URL_BASE +    _VALID_URL = r'''(?x) +                    https?:// +                        (?: +                            (?:www\.)?twitch\.tv/| +                            player\.twitch\.tv/\?.*?\bchannel= +                        ) +                        (?P<id>[^/#?]+) +                    '''      _TESTS = [{          'url': 'http://www.twitch.tv/shroomztv', @@ -471,8 +478,25 @@ class TwitchStreamIE(TwitchBaseIE):      }, {          'url': 'http://www.twitch.tv/miracle_doto#profile-0',          'only_matching': True, +    }, { +        'url': 'https://player.twitch.tv/?channel=lotsofs', +        'only_matching': True,      }] +    @classmethod +    def suitable(cls, url): +        return (False +                if any(ie.suitable(url) for ie in ( +                    TwitchVideoIE, +                    TwitchChapterIE, +                    TwitchVodIE, +                    TwitchProfileIE, +                    TwitchAllVideosIE, +                    TwitchUploadsIE, +                    TwitchPastBroadcastsIE, +                    TwitchHighlightsIE)) +                else super(TwitchStreamIE, cls).suitable(url)) +      def _real_extract(self, url):          channel_id = self._match_id(url) | 
