From 121647705a2fc6b968278723fe61801007e228a4 Mon Sep 17 00:00:00 2001 From: Abdulmohsen <1621552+arabcoders@users.noreply.github.com> Date: Thu, 31 Jul 2025 02:23:06 +0300 Subject: [PATCH] [ie/TVer] Support --ignore-no-formats-error when geo-blocked (#13598) Authored by: arabcoders --- yt_dlp/extractor/tver.py | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/yt_dlp/extractor/tver.py b/yt_dlp/extractor/tver.py index 3b6a0390af..a3dbabfd1e 100644 --- a/yt_dlp/extractor/tver.py +++ b/yt_dlp/extractor/tver.py @@ -3,6 +3,7 @@ from .streaks import StreaksBaseIE from ..utils import ( ExtractorError, + GeoRestrictedError, int_or_none, join_nonempty, make_archive_id, @@ -226,19 +227,26 @@ def _real_extract(self, url): '_type': 'url_transparent', 'url': smuggle_url( self.BRIGHTCOVE_URL_TEMPLATE % (account_id, brightcove_id), - {'geo_countries': ['JP']}), + {'geo_countries': self._GEO_COUNTRIES}), 'ie_key': 'BrightcoveNew', } project_id = video_info['streaks']['projectID'] key_idx = dt.datetime.fromtimestamp(time_seconds(hours=9), dt.timezone.utc).month % 6 or 6 - return { - **self._extract_from_streaks_api(project_id, streaks_id, { + try: + streaks_info = self._extract_from_streaks_api(project_id, streaks_id, { 'Origin': 'https://tver.jp', 'Referer': 'https://tver.jp/', 'X-Streaks-Api-Key': self._STREAKS_API_INFO[project_id]['api_key'][f'key0{key_idx}'], - }), + }) + except GeoRestrictedError as e: + # Catch and re-raise with metadata_available to support --ignore-no-formats-error + self.raise_geo_restricted(e.orig_msg, countries=self._GEO_COUNTRIES, metadata_available=True) + streaks_info = {} + + return { + **streaks_info, **metadata, 'id': video_id, '_old_archive_ids': [make_archive_id('BrightcoveNew', brightcove_id)] if brightcove_id else None,