Refine download_captions function with enhanced fallback languages and better error handling

This commit is contained in:
2026-04-07 11:53:23 -04:00
parent 3b90913330
commit 0bc502fa6f

View File

@@ -254,31 +254,32 @@ def download_captions(video_id):
'language': transcript.language,
'success': True
}
# If no English transcript is available, try any language
print("No English transcript found. Trying to get transcript in original language...")
transcript = YouTubeTranscriptApi().fetch(video_id, languages=[])
if transcript:
return {
'transcript': transcript,
'language': transcript.language,
'success': True
}
return {
'transcript': None,
'language': None,
'success': False
}
except Exception as e:
print(f"Error downloading captions: {e}")
return {
'transcript': None,
'language': None,
'success': False
}
try:
# If no English transcript is available, try any language
print("No English transcript found. Trying to get transcript in original language...")
transcript = YouTubeTranscriptApi().fetch(video_id, languages=['de','fa'])
if transcript:
return {
'transcript': transcript,
'language': transcript.language,
'success': True
}
return {
'transcript': None,
'language': None,
'success': False
}
except Exception as e:
print(f"Error downloading captions: {e}")
return {
'transcript': None,
'language': None,
'success': False
}
if __name__ == "__main__":