diff --git a/app/library/Utils.py b/app/library/Utils.py index 837e5d39..e901f3a3 100644 --- a/app/library/Utils.py +++ b/app/library/Utils.py @@ -1088,6 +1088,7 @@ def extract_ytdlp_logs(logs: list[str], filters: list[str | re.Pattern] = None) "Video unavailable. This video is private", "This video is available to this channel", "Private video. Sign in if you've been granted access to this video", + "[youtube] Premieres in", ] + (filters or []) compiled: list[re.Pattern] = [ diff --git a/app/main.py b/app/main.py index 78b72a11..c3a2c5f5 100644 --- a/app/main.py +++ b/app/main.py @@ -34,7 +34,7 @@ def _patched_prepare_live_from_start_formats( import threading import time - from yt_dlp.utils import LazyList, bug_reports_message + from yt_dlp.utils import LazyList, bug_reports_message, traverse_obj lock = threading.Lock() start_time = time.time() @@ -46,8 +46,8 @@ def _patched_prepare_live_from_start_formats( return # re-download player responses & re-list formats _, _, prs, player_url = self._download_player_responses(url, smuggled_data, video_id, webpage_url) - video_details = self.traverse_obj(prs, (..., "videoDetails"), expected_type=dict) - microformats = self.traverse_obj(prs, (..., "microformat", "playerMicroformatRenderer"), expected_type=dict) + video_details = traverse_obj(prs, (..., "videoDetails"), expected_type=dict) + microformats = traverse_obj(prs, (..., "microformat", "playerMicroformatRenderer"), expected_type=dict) _, live_status, _, formats, _ = self._list_formats(video_id, microformats, video_details, prs, player_url) is_live = live_status == "is_live" start_time = time.time()