diff --git a/youtube_dl/extractor/youtube.py b/youtube_dl/extractor/youtube.py index a3f75b626..052926ee5 100644 --- a/youtube_dl/extractor/youtube.py +++ b/youtube_dl/extractor/youtube.py @@ -2870,6 +2870,16 @@ class YoutubeTabIE(YoutubeBaseInfoExtractor): for entry in self._post_thread_entries(renderer): yield entry + @staticmethod + def _build_continuation_query(continuation, ctp=None): + query = { + 'ctoken': continuation, + 'continuation': continuation, + } + if ctp: + query['itct'] = ctp + return query + @staticmethod def _extract_next_continuation_data(renderer): next_continuation = try_get( @@ -2880,11 +2890,7 @@ class YoutubeTabIE(YoutubeBaseInfoExtractor): if not continuation: return ctp = next_continuation.get('clickTrackingParams') - return { - 'ctoken': continuation, - 'continuation': continuation, - 'itct': ctp, - } + return YoutubeTabIE._build_continuation_query(continuation, ctp) @classmethod def _extract_continuation(cls, renderer): @@ -2907,13 +2913,7 @@ class YoutubeTabIE(YoutubeBaseInfoExtractor): if not continuation: continue ctp = continuation_ep.get('clickTrackingParams') - if not ctp: - continue - return { - 'ctoken': continuation, - 'continuation': continuation, - 'itct': ctp, - } + return YoutubeTabIE._build_continuation_query(continuation, ctp) def _entries(self, tab, identity_token): tab_content = try_get(tab, lambda x: x['content'], dict)