From a13d82cb9a6c2453568c239951cef0a0bdedb5a5 Mon Sep 17 00:00:00 2001 From: sepro Date: Sun, 13 Jul 2025 00:51:42 +0200 Subject: [PATCH] Move out release timestamp --- yt_dlp/extractor/mixlr.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/yt_dlp/extractor/mixlr.py b/yt_dlp/extractor/mixlr.py index ca85495df..1b64c81f3 100644 --- a/yt_dlp/extractor/mixlr.py +++ b/yt_dlp/extractor/mixlr.py @@ -64,13 +64,16 @@ def _real_extract(self, url): 'vcodec': 'none', }) - if not formats: - self.raise_no_formats('No formats found', expected=True) + release_timestamp = traverse_obj( + broadcast_info, ('data', 'attributes', 'starts_at', {str})) + if not formats and release_timestamp: + self.raise_no_formats(f'This event will start at {release_timestamp}', expected=True) return { 'id': event_id, 'uploader': username, 'formats': formats, + 'release_timestamp': parse_iso8601(release_timestamp), **traverse_obj(broadcast_info, ('included', 0, 'attributes', { 'title': ('title', {str}), 'timestamp': ('started_at', {parse_iso8601}), @@ -82,7 +85,6 @@ def _real_extract(self, url): 'title': ('title', {str}), 'description': ('description', {str}), 'timestamp': ('started_at', {parse_iso8601}), - 'release_timestamp': ('starts_at', {parse_iso8601}), 'concurrent_view_count': ('concurrent_view_count', {int_or_none}), 'like_count': ('heart_count', {int_or_none}), 'thumbnail': ('artwork_url', {url_or_none}),