|
@@ -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)
|