aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTom-Oliver Heidel <blackjack4494@web.de>2020-09-03 17:05:58 +0200
committerTom-Oliver Heidel <blackjack4494@web.de>2020-09-03 17:05:58 +0200
commitdac4ecf592b5a6ec307558fed1066df3a598e3b6 (patch)
tree6e31cbc39eeb59ea7dab6562006671eb94aba851
parent2028c6492af8215a8515c56eec74b6443dbc78d8 (diff)
parentd28026d934453e423344dfd363a9909c520ef0b5 (diff)
downloadhypervideo-pre-dac4ecf592b5a6ec307558fed1066df3a598e3b6.tar.lz
hypervideo-pre-dac4ecf592b5a6ec307558fed1066df3a598e3b6.tar.xz
hypervideo-pre-dac4ecf592b5a6ec307558fed1066df3a598e3b6.zip
Merge branch 'twitch-fix' of https://github.com/lel-amri/youtube-dl into lel-amri-twitch-fix
-rw-r--r--youtube_dlc/extractor/twitch.py40
1 files changed, 22 insertions, 18 deletions
diff --git a/youtube_dlc/extractor/twitch.py b/youtube_dlc/extractor/twitch.py
index 3f0f7e277..35e4dda37 100644
--- a/youtube_dlc/extractor/twitch.py
+++ b/youtube_dlc/extractor/twitch.py
@@ -458,82 +458,86 @@ class TwitchProfileIE(TwitchPlaylistBaseIE):
class TwitchVideosBaseIE(TwitchPlaylistBaseIE):
_VALID_URL_VIDEOS_BASE = r'%s/(?P<id>[^/]+)/videos' % TwitchBaseIE._VALID_URL_BASE
+ _VALID_URL_VIDEOS_FILTERS = r'\?(?:.*?[&;])??filter=%s'
_PLAYLIST_PATH = TwitchPlaylistBaseIE._PLAYLIST_PATH + '&broadcast_type='
class TwitchAllVideosIE(TwitchVideosBaseIE):
IE_NAME = 'twitch:videos:all'
- _VALID_URL = r'%s/all' % TwitchVideosBaseIE._VALID_URL_VIDEOS_BASE
+ _VALID_URL = '%s/?(?:(?:%s)|$)' % (
+ TwitchVideosBaseIE._VALID_URL_VIDEOS_BASE,
+ TwitchVideosBaseIE._VALID_URL_VIDEOS_FILTERS % 'all'
+ )
_PLAYLIST_PATH = TwitchVideosBaseIE._PLAYLIST_PATH + 'archive,upload,highlight'
_PLAYLIST_TYPE = 'all videos'
_TESTS = [{
- 'url': 'https://www.twitch.tv/spamfish/videos/all',
+ 'url': 'https://www.twitch.tv/spamfish/videos?filter=all&sort=time',
'info_dict': {
'id': '497952',
'title': 'Spamfish',
},
'playlist_mincount': 869,
}, {
- 'url': 'https://m.twitch.tv/spamfish/videos/all',
+ 'url': 'https://m.twitch.tv/spamfish/videos/',
'only_matching': True,
}]
class TwitchUploadsIE(TwitchVideosBaseIE):
IE_NAME = 'twitch:videos:uploads'
- _VALID_URL = r'%s/uploads' % TwitchVideosBaseIE._VALID_URL_VIDEOS_BASE
+ _VALID_URL = '%s/?(?:%s)' % (
+ TwitchVideosBaseIE._VALID_URL_VIDEOS_BASE,
+ TwitchVideosBaseIE._VALID_URL_VIDEOS_FILTERS % 'uploads'
+ )
_PLAYLIST_PATH = TwitchVideosBaseIE._PLAYLIST_PATH + 'upload'
_PLAYLIST_TYPE = 'uploads'
_TESTS = [{
- 'url': 'https://www.twitch.tv/spamfish/videos/uploads',
+ 'url': 'https://www.twitch.tv/spamfish/videos?filter=uploads&sort=time',
'info_dict': {
'id': '497952',
'title': 'Spamfish',
},
'playlist_mincount': 0,
- }, {
- 'url': 'https://m.twitch.tv/spamfish/videos/uploads',
- 'only_matching': True,
}]
class TwitchPastBroadcastsIE(TwitchVideosBaseIE):
IE_NAME = 'twitch:videos:past-broadcasts'
- _VALID_URL = r'%s/past-broadcasts' % TwitchVideosBaseIE._VALID_URL_VIDEOS_BASE
+ _VALID_URL = '%s/?(?:%s)' % (
+ TwitchVideosBaseIE._VALID_URL_VIDEOS_BASE,
+ TwitchVideosBaseIE._VALID_URL_VIDEOS_FILTERS % 'archives'
+ )
_PLAYLIST_PATH = TwitchVideosBaseIE._PLAYLIST_PATH + 'archive'
_PLAYLIST_TYPE = 'past broadcasts'
_TESTS = [{
- 'url': 'https://www.twitch.tv/spamfish/videos/past-broadcasts',
+ 'url': 'https://www.twitch.tv/spamfish/videos?filter=archives&sort=time',
'info_dict': {
'id': '497952',
'title': 'Spamfish',
},
'playlist_mincount': 0,
- }, {
- 'url': 'https://m.twitch.tv/spamfish/videos/past-broadcasts',
- 'only_matching': True,
}]
class TwitchHighlightsIE(TwitchVideosBaseIE):
IE_NAME = 'twitch:videos:highlights'
- _VALID_URL = r'%s/highlights' % TwitchVideosBaseIE._VALID_URL_VIDEOS_BASE
+ _VALID_URL = '%s/?(?:%s)' % (
+ TwitchVideosBaseIE._VALID_URL_VIDEOS_BASE,
+ TwitchVideosBaseIE._VALID_URL_VIDEOS_FILTERS % 'highlights'
+ )
_PLAYLIST_PATH = TwitchVideosBaseIE._PLAYLIST_PATH + 'highlight'
_PLAYLIST_TYPE = 'highlights'
_TESTS = [{
- 'url': 'https://www.twitch.tv/spamfish/videos/highlights',
+ 'url': 'https://www.twitch.tv/spamfish/videos?filter=highlights&sort=views',
'info_dict': {
'id': '497952',
'title': 'Spamfish',
},
'playlist_mincount': 805,
- }, {
- 'url': 'https://m.twitch.tv/spamfish/videos/highlights',
- 'only_matching': True,
}]