whisper-youtube-2-hf_dataset / transforming /adddescriptiontransform.py
juancopi81's picture
Duplicate from Whispering-GPT/whisper-youtube-2-hf_dataset
7288748
raw
history blame
No virus
949 Bytes
from typing import Any
from pytube import YouTube
from video import YoutubeVideo
from utils import accepts_types
from transforming.transform import Transform
class AddDescriptionTransform(Transform):
"""
Transform a Video object using PyTube. Adds title to YouTube video DTO.
It's a concrete Transform.
"""
@accepts_types(YoutubeVideo)
def apply(self, video: YoutubeVideo) -> YoutubeVideo:
yt = YouTube(video.url)
video_With_description_params = {
"channel_name": video.channel_name,
"url": video.url,
"title": video.title,
"description": self._get_video_description(yt),
"transcription": video.transcription,
"segments": video.segments
}
return YoutubeVideo(**video_With_description_params)
def _get_video_description(self, yt: Any) -> str:
return str(yt.description)