From 0b313ecbab11889dd9928496c900eac65e95bf80 Mon Sep 17 00:00:00 2001 From: arabcoders Date: Tue, 1 Jul 2025 21:53:09 +0300 Subject: [PATCH] [Streaks/Tver] allow metadata extraction --- yt_dlp/extractor/streaks.py | 10 ++++++---- yt_dlp/extractor/tver.py | 5 +++-- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/yt_dlp/extractor/streaks.py b/yt_dlp/extractor/streaks.py index 1b3718473d..2cd2017ae4 100644 --- a/yt_dlp/extractor/streaks.py +++ b/yt_dlp/extractor/streaks.py @@ -22,7 +22,7 @@ class StreaksBaseIE(InfoExtractor): _GEO_BYPASS = False _GEO_COUNTRIES = ['JP'] - def _extract_from_streaks_api(self, project_id, media_id, headers=None, query=None, ssai=False): + def _extract_from_streaks_api(self, project_id, media_id, headers=None, query=None, ssai=False, metadata_available=False): try: response = self._download_json( self._API_URL_TEMPLATE.format('playback', project_id, media_id, ''), @@ -38,14 +38,16 @@ def _extract_from_streaks_api(self, project_id, media_id, headers=None, query=No message = traverse_obj(error, ('message', {str})) code = traverse_obj(error, ('code', {str})) if code == 'REQUEST_FAILED': - self.raise_geo_restricted(message, countries=self._GEO_COUNTRIES) + self.raise_geo_restricted(message, countries=self._GEO_COUNTRIES, metadata_available=metadata_available) + response = {} elif code == 'MEDIA_NOT_FOUND': raise ExtractorError(message, expected=True) elif code or message: raise ExtractorError(join_nonempty(code, message, delim=': ')) - raise + else: + raise - streaks_id = response['id'] + streaks_id = response.get('id') live_status = { 'clip': 'was_live', 'file': 'not_live', diff --git a/yt_dlp/extractor/tver.py b/yt_dlp/extractor/tver.py index 805150db45..86c57a2157 100644 --- a/yt_dlp/extractor/tver.py +++ b/yt_dlp/extractor/tver.py @@ -219,7 +219,7 @@ 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', } @@ -227,8 +227,9 @@ def _real_extract(self, url): **self._extract_from_streaks_api(video_info['streaks']['projectID'], streaks_id, { 'Origin': 'https://tver.jp', 'Referer': 'https://tver.jp/', - }), + }, metadata_available=True), **metadata, 'id': video_id, + 'geo_countries': self._GEO_COUNTRIES, '_old_archive_ids': [make_archive_id('BrightcoveNew', brightcove_id)] if brightcove_id else None, }