From b7d4c50ef31c9660e3ae1390b98b4535b0826696 Mon Sep 17 00:00:00 2001 From: grqx_wsl <173253225+grqx@users.noreply.github.com> Date: Sun, 6 Oct 2024 00:45:28 +1300 Subject: [PATCH] always return a playlist result regardless of its length --- yt_dlp/extractor/nzonscreen.py | 53 +++++++++++----------------------- 1 file changed, 17 insertions(+), 36 deletions(-) diff --git a/yt_dlp/extractor/nzonscreen.py b/yt_dlp/extractor/nzonscreen.py index 520b1e778..62902326b 100644 --- a/yt_dlp/extractor/nzonscreen.py +++ b/yt_dlp/extractor/nzonscreen.py @@ -135,39 +135,20 @@ def _real_extract(self, url): playlist = self._download_json( f'https://www.nzonscreen.com/html5/video_data/{video_id}', video_id, 'Downloading media data') - if len(playlist) == 1: - playinfo = playlist[0] - return { - 'alt_title': title, - 'display_id': video_id, - 'http_headers': { - 'Referer': 'https://www.nzonscreen.com/', - 'Origin': 'https://www.nzonscreen.com/', - }, - 'subtitles': self.extract_subtitles(playinfo, video_id), - **traverse_obj(playinfo, { - 'formats': {self._extract_formats}, - 'id': 'uuid', - 'title': ('label', {strip_or_none}), - 'description': ('description', {strip_or_none}), - 'thumbnail': ('thumbnail', 'path'), - 'duration': ('duration', {float_or_none}), - }), - } - else: - return self.playlist_result([{ - 'display_id': video_id, - 'http_headers': { - 'Referer': 'https://www.nzonscreen.com/', - 'Origin': 'https://www.nzonscreen.com/', - }, - 'subtitles': self.extract_subtitles(playinfo, video_id), - **traverse_obj(playinfo, { - 'formats': {self._extract_formats}, - 'id': 'uuid', - 'title': ('label', {strip_or_none}), - 'description': ('description', {strip_or_none}), - 'thumbnail': ('thumbnail', 'path'), - 'duration': ('duration', {float_or_none}), - }), - } for playinfo in playlist], video_id, title) + return self.playlist_result([{ + 'alt_title': title if len(playlist) == 1 else None, + 'display_id': video_id, + 'http_headers': { + 'Referer': 'https://www.nzonscreen.com/', + 'Origin': 'https://www.nzonscreen.com/', + }, + 'subtitles': self.extract_subtitles(playinfo, video_id), + **traverse_obj(playinfo, { + 'formats': {self._extract_formats}, + 'id': 'uuid', + 'title': ('label', {strip_or_none}), + 'description': ('description', {strip_or_none}), + 'thumbnail': ('thumbnail', 'path'), + 'duration': ('duration', {float_or_none}), + }), + } for playinfo in playlist], video_id, title)