X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=youtube_dl%2Fextractor%2Ftwitch.py;h=6d67bda86d7bc61e92fe11ce5b67a5e6d9327422;hb=ec85ded83cbfa652ba94cb080aab52d8b270212a;hp=09efa505b4f4ab4e88820a02da5afe6463adb5aa;hpb=9a0f999585e392f04541e4f6d5c8d26cf18d31a8;p=youtube-dl diff --git a/youtube_dl/extractor/twitch.py b/youtube_dl/extractor/twitch.py index 09efa505b..6d67bda86 100644 --- a/youtube_dl/extractor/twitch.py +++ b/youtube_dl/extractor/twitch.py @@ -206,8 +206,14 @@ class TwitchChapterIE(TwitchItemBaseIE): class TwitchVodIE(TwitchItemBaseIE): IE_NAME = 'twitch:vod' - _VALID_URL_BASE = r'https?://(?:www\.|player\.)?twitch\.tv' - _VALID_URL = r'%s/(?:[^/]+/v/|\?video=v)(?P\d+)' % _VALID_URL_BASE + _VALID_URL = r'''(?x) + https?:// + (?: + (?:www\.)?twitch\.tv/[^/]+/v/| + player\.twitch\.tv/\?.*?\bvideo=v + ) + (?P\d+) + ''' _ITEM_TYPE = 'vod' _ITEM_SHORTCUT = 'v' @@ -217,27 +223,7 @@ class TwitchVodIE(TwitchItemBaseIE): 'id': 'v6528877', 'ext': 'mp4', 'title': 'LCK Summer Split - Week 6 Day 1', - 'thumbnail': 're:^https?://.*\.jpg$', - 'duration': 17208, - 'timestamp': 1435131709, - 'upload_date': '20150624', - 'uploader': 'Riot Games', - 'uploader_id': 'riotgames', - 'view_count': int, - 'start_time': 310, - }, - 'params': { - # m3u8 download - 'skip_download': True, - }, - }, { - # player.twitch.tv URL - 'url': 'http://player.twitch.tv/?video=v6528877&t=5m10s', - 'info_dict': { - 'id': 'v6528877', - 'ext': 'mp4', - 'title': 'LCK Summer Split - Week 6 Day 1', - 'thumbnail': 're:^https?://.*\.jpg$', + 'thumbnail': r're:^https?://.*\.jpg$', 'duration': 17208, 'timestamp': 1435131709, 'upload_date': '20150624', @@ -257,7 +243,7 @@ class TwitchVodIE(TwitchItemBaseIE): 'id': 'v11230755', 'ext': 'mp4', 'title': 'Untitled Broadcast', - 'thumbnail': 're:^https?://.*\.jpg$', + 'thumbnail': r're:^https?://.*\.jpg$', 'duration': 1638, 'timestamp': 1439746708, 'upload_date': '20150816', @@ -270,6 +256,9 @@ class TwitchVodIE(TwitchItemBaseIE): 'skip_download': True, }, 'skip': 'HTTP Error 404: Not Found', + }, { + 'url': 'http://player.twitch.tv/?t=5m10s&video=v6528877', + 'only_matching': True, }] def _real_extract(self, url): @@ -561,7 +550,7 @@ class TwitchClipsIE(InfoExtractor): 'id': 'AggressiveCobraPoooound', 'ext': 'mp4', 'title': 'EA Play 2016 Live from the Novo Theatre', - 'thumbnail': 're:^https?://.*\.jpg', + 'thumbnail': r're:^https?://.*\.jpg', 'creator': 'EA', 'uploader': 'stereotype_', 'uploader_id': 'stereotype_',