Refine download_captions function with enhanced fallback languages and better error handling
This commit is contained in:
@@ -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__":
|
||||
|
||||
Reference in New Issue
Block a user