From bf529967401dbac12e32ab852723a59e673dadab Mon Sep 17 00:00:00 2001
From: geauxlo <66712139+geauxlo@users.noreply.github.com>
Date: Wed, 10 Jun 2020 04:00:01 +0000
Subject: [PATCH] Update api call to v5 spec in TwitchPlaylistBaseIE

---
 youtube_dl/extractor/twitch.py | 20 +++++++++++---------
 1 file changed, 11 insertions(+), 9 deletions(-)

diff --git a/youtube_dl/extractor/twitch.py b/youtube_dl/extractor/twitch.py
index e211cd4c8..3f0f7e277 100644
--- a/youtube_dl/extractor/twitch.py
+++ b/youtube_dl/extractor/twitch.py
@@ -380,11 +380,13 @@ class TwitchPlaylistBaseIE(TwitchBaseIE):
     _PLAYLIST_PATH = 'kraken/channels/%s/videos/?offset=%d&limit=%d'
     _PAGE_LIMIT = 100
 
-    def _extract_playlist(self, channel_id):
+    def _extract_playlist(self, channel_name):
         info = self._call_api(
-            'kraken/channels/%s' % channel_id,
-            channel_id, 'Downloading channel info JSON')
-        channel_name = info.get('display_name') or info.get('name')
+            'kraken/users?login=%s' % channel_name,
+            channel_name, 'Downloading channel info JSON')
+        info = info['users'][0]
+        channel_id = info['_id']
+        channel_name = info.get('display_name') or info.get('name') or channel_name
         entries = []
         offset = 0
         limit = self._PAGE_LIMIT
@@ -444,7 +446,7 @@ class TwitchProfileIE(TwitchPlaylistBaseIE):
     _TESTS = [{
         'url': 'http://www.twitch.tv/vanillatv/profile',
         'info_dict': {
-            'id': 'vanillatv',
+            'id': '22744919',
             'title': 'VanillaTV',
         },
         'playlist_mincount': 412,
@@ -468,7 +470,7 @@ class TwitchAllVideosIE(TwitchVideosBaseIE):
     _TESTS = [{
         'url': 'https://www.twitch.tv/spamfish/videos/all',
         'info_dict': {
-            'id': 'spamfish',
+            'id': '497952',
             'title': 'Spamfish',
         },
         'playlist_mincount': 869,
@@ -487,7 +489,7 @@ class TwitchUploadsIE(TwitchVideosBaseIE):
     _TESTS = [{
         'url': 'https://www.twitch.tv/spamfish/videos/uploads',
         'info_dict': {
-            'id': 'spamfish',
+            'id': '497952',
             'title': 'Spamfish',
         },
         'playlist_mincount': 0,
@@ -506,7 +508,7 @@ class TwitchPastBroadcastsIE(TwitchVideosBaseIE):
     _TESTS = [{
         'url': 'https://www.twitch.tv/spamfish/videos/past-broadcasts',
         'info_dict': {
-            'id': 'spamfish',
+            'id': '497952',
             'title': 'Spamfish',
         },
         'playlist_mincount': 0,
@@ -525,7 +527,7 @@ class TwitchHighlightsIE(TwitchVideosBaseIE):
     _TESTS = [{
         'url': 'https://www.twitch.tv/spamfish/videos/highlights',
         'info_dict': {
-            'id': 'spamfish',
+            'id': '497952',
             'title': 'Spamfish',
         },
         'playlist_mincount': 805,