From 6a6d97b2cbc78f818de05cc96edcdcfd52caa259 Mon Sep 17 00:00:00 2001 From: coletdjnz Date: Sat, 29 Mar 2025 11:13:09 +1300 Subject: [PATCH] [ie/youtube:tab] Fix playlist continuation extraction (#12777) Fixes https://github.com/yt-dlp/yt-dlp/issues/12759 Authored by: coletdjnz --- yt_dlp/extractor/youtube/_base.py | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/yt_dlp/extractor/youtube/_base.py b/yt_dlp/extractor/youtube/_base.py index ac0604a9cf..8ca7d898e9 100644 --- a/yt_dlp/extractor/youtube/_base.py +++ b/yt_dlp/extractor/youtube/_base.py @@ -803,12 +803,14 @@ class YoutubeBaseInfoExtractor(InfoExtractor): @classmethod def _extract_continuation_ep_data(cls, continuation_ep: dict): - if isinstance(continuation_ep, dict): - continuation = try_get( - continuation_ep, lambda x: x['continuationCommand']['token'], str) + continuation_commands = traverse_obj( + continuation_ep, ('commandExecutorCommand', 'commands', ..., {dict})) + continuation_commands.append(continuation_ep) + for command in continuation_commands: + continuation = traverse_obj(command, ('continuationCommand', 'token', {str})) if not continuation: - return - ctp = continuation_ep.get('clickTrackingParams') + continue + ctp = command.get('clickTrackingParams') return cls._build_api_continuation_query(continuation, ctp) @classmethod