From 1ebf1188730a34030bf531e2a9cdadf56c693def Mon Sep 17 00:00:00 2001 From: ArabCoders Date: Wed, 19 Mar 2025 21:16:14 +0300 Subject: [PATCH] [Tver] Added release_date and episode_number when available --- yt_dlp/extractor/tver.py | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/yt_dlp/extractor/tver.py b/yt_dlp/extractor/tver.py index 1b3809611e..df6dbcfec4 100644 --- a/yt_dlp/extractor/tver.py +++ b/yt_dlp/extractor/tver.py @@ -1,3 +1,6 @@ +import datetime +import re + from .common import InfoExtractor from ..utils import ( ExtractorError, @@ -168,6 +171,24 @@ class TVerIE(InfoExtractor): 'thumbnails': thumbnails, } + episode_number = traverse_obj(video_info, ('no', {str_or_none}), default=None) + if episode_number: + data['episode_number'] = int(episode_number) + + onair_label = str_or_none(episode_content.get('broadcastDateLabel')) + if onair_label: + match = re.search( + pattern=r'(?:(?P\d{4})年)|(?:(?P\d{1,2})\D(?P\d{1,2})\D)', + string=onair_label, + ) + + if match: + air_date = match.groupdict() + if air_date.get('day') and air_date.get('month'): + data['release_date'] = ( + f"{datetime.datetime.now().year}{air_date['month'].zfill(2)}{air_date['day'].zfill(2)}" + ) + backend = self._configuration_arg('backend', ['streaks'])[0] if backend not in ('brightcove', 'streaks'):