diff options
author | Léo El Amri <leo@superlel.me> | 2019-07-20 20:02:48 +0200 |
---|---|---|
committer | Léo El Amri <leo@superlel.me> | 2019-07-20 20:03:59 +0200 |
commit | a7d44de6da0a44e2034ecd1e997a738e94fe70e9 (patch) | |
tree | d4125cc7259680717245c2b1f977ca79b8c09a6d | |
parent | 7679c2333241e050d4222e84c4bc173548fd01ba (diff) | |
download | hypervideo-pre-a7d44de6da0a44e2034ecd1e997a738e94fe70e9.tar.lz hypervideo-pre-a7d44de6da0a44e2034ecd1e997a738e94fe70e9.tar.xz hypervideo-pre-a7d44de6da0a44e2034ecd1e997a738e94fe70e9.zip |
Reverting the removal of TwitchVideoIE and TwitchChapterIE
-rw-r--r-- | youtube_dl/extractor/extractors.py | 2 | ||||
-rw-r--r-- | youtube_dl/extractor/twitch.py | 39 |
2 files changed, 41 insertions, 0 deletions
diff --git a/youtube_dl/extractor/extractors.py b/youtube_dl/extractor/extractors.py index a974eed55..555fadfaf 100644 --- a/youtube_dl/extractor/extractors.py +++ b/youtube_dl/extractor/extractors.py @@ -1231,6 +1231,8 @@ from .twentymin import TwentyMinutenIE from .twentythreevideo import TwentyThreeVideoIE from .twitcasting import TwitCastingIE from .twitch import ( + TwitchVideoIE, + TwitchChapterIE, TwitchVodIE, TwitchProfileIE, TwitchAllVideosIE, diff --git a/youtube_dl/extractor/twitch.py b/youtube_dl/extractor/twitch.py index be90669d8..bc8f32936 100644 --- a/youtube_dl/extractor/twitch.py +++ b/youtube_dl/extractor/twitch.py @@ -205,6 +205,43 @@ class TwitchItemBaseIE(TwitchBaseIE): return self._extract_media(self._match_id(url)) +class TwitchVideoIE(TwitchItemBaseIE): + IE_NAME = 'twitch:video' + _VALID_URL = r'%s/[^/]+/b/(?P<id>\d+)' % TwitchBaseIE._VALID_URL_BASE + _ITEM_TYPE = 'video' + _ITEM_SHORTCUT = 'a' + + _TEST = { + 'url': 'http://www.twitch.tv/riotgames/b/577357806', + 'info_dict': { + 'id': 'a577357806', + 'title': 'Worlds Semifinals - Star Horn Royal Club vs. OMG', + }, + 'playlist_mincount': 12, + 'skip': 'HTTP Error 404: Not Found', + } + + +class TwitchChapterIE(TwitchItemBaseIE): + IE_NAME = 'twitch:chapter' + _VALID_URL = r'%s/[^/]+/c/(?P<id>\d+)' % TwitchBaseIE._VALID_URL_BASE + _ITEM_TYPE = 'chapter' + _ITEM_SHORTCUT = 'c' + + _TESTS = [{ + 'url': 'http://www.twitch.tv/acracingleague/c/5285812', + 'info_dict': { + 'id': 'c5285812', + 'title': 'ACRL Off Season - Sports Cars @ Nordschleife', + }, + 'playlist_mincount': 3, + 'skip': 'HTTP Error 404: Not Found', + }, { + 'url': 'http://www.twitch.tv/tsm_theoddone/c/2349361', + 'only_matching': True, + }] + + class TwitchVodIE(TwitchItemBaseIE): IE_NAME = 'twitch:vod' _VALID_URL = r'''(?x) @@ -510,6 +547,8 @@ class TwitchStreamIE(TwitchBaseIE): def suitable(cls, url): return (False if any(ie.suitable(url) for ie in ( + TwitchVideoIE, + TwitchChapterIE, TwitchVodIE, TwitchProfileIE, TwitchAllVideosIE, |