From 2c49f52c04946df76cb5cd574c4135b3794595bc Mon Sep 17 00:00:00 2001 From: subrat-lima Date: Fri, 20 Sep 2024 01:36:13 +0530 Subject: [PATCH] [ie/omnyfm] added back the InAdvancePagedList function --- yt_dlp/extractor/omnyfm.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/yt_dlp/extractor/omnyfm.py b/yt_dlp/extractor/omnyfm.py index abc6e5cc2..0e4d3fd0e 100644 --- a/yt_dlp/extractor/omnyfm.py +++ b/yt_dlp/extractor/omnyfm.py @@ -1,8 +1,9 @@ import functools +import math from .common import InfoExtractor from ..utils import ( - OnDemandPagedList, + InAdvancePagedList, clean_html, float_or_none, int_or_none, @@ -57,8 +58,11 @@ def _real_extract(self, url): data = self._search_nextjs_data(webpage, display_id) org_id = traverse_obj(data, ('props', 'pageProps', 'program', 'OrganizationId', {str_or_none})) playlist_id = traverse_obj(data, ('props', 'pageProps', 'program', 'Id', {str_or_none})) + playlist_count = traverse_obj(data, ('props', 'pageProps', 'program', 'DefaultPlaylist', 'NumberOfClips', {int_or_none})) title = traverse_obj(data, ('props', 'pageProps', 'program', 'Name', {str_or_none})) first_page_data = traverse_obj(data, ('props', 'pageProps', 'clips', {dict})) + total_pages = math.ceil(playlist_count / self._PAGE_SIZE) - entries = OnDemandPagedList(functools.partial(self._entries, org_id, playlist_id, first_page_data), self._PAGE_SIZE) - return self.playlist_result(entries, playlist_id, title) + return self.playlist_result(InAdvancePagedList( + functools.partial(self._entries, org_id, playlist_id, first_page_data), + total_pages, self._PAGE_SIZE), playlist_id, title)