Add provision for other languages in Youtube Video Block (#8630)
Co-authored-by: Toran Bruce Richards <toran.richards@gmail.com>pull/8642/head^2
parent
ce667f6287
commit
639242ac68
|
@ -62,7 +62,22 @@ class TranscribeYoutubeVideoBlock(Block):
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def get_transcript(video_id: str):
|
def get_transcript(video_id: str):
|
||||||
return YouTubeTranscriptApi.get_transcript(video_id)
|
try:
|
||||||
|
transcript_list = YouTubeTranscriptApi.list_transcripts(video_id)
|
||||||
|
|
||||||
|
if not transcript_list:
|
||||||
|
raise ValueError(f"No transcripts found for the video: {video_id}")
|
||||||
|
|
||||||
|
for transcript in transcript_list:
|
||||||
|
first_transcript = transcript_list.find_transcript(
|
||||||
|
[transcript.language_code]
|
||||||
|
)
|
||||||
|
return YouTubeTranscriptApi.get_transcript(
|
||||||
|
video_id, languages=[first_transcript.language_code]
|
||||||
|
)
|
||||||
|
|
||||||
|
except Exception:
|
||||||
|
raise ValueError(f"No transcripts found for the video: {video_id}")
|
||||||
|
|
||||||
def run(self, input_data: Input, **kwargs) -> BlockOutput:
|
def run(self, input_data: Input, **kwargs) -> BlockOutput:
|
||||||
video_id = self.extract_video_id(input_data.youtube_url)
|
video_id = self.extract_video_id(input_data.youtube_url)
|
||||||
|
|
Loading…
Reference in New Issue