Spaces:
Sleeping
Sleeping
Update Translator.py
Browse files- Translator.py +13 -12
Translator.py
CHANGED
|
@@ -14,27 +14,28 @@ def extract_video_id(url):
|
|
| 14 |
|
| 15 |
def get_subtitles(video_url):
|
| 16 |
"""
|
| 17 |
-
Gets
|
|
|
|
| 18 |
"""
|
| 19 |
video_id = extract_video_id(video_url)
|
| 20 |
if not video_id:
|
| 21 |
raise ValueError("Invalid YouTube URL")
|
| 22 |
|
| 23 |
try:
|
| 24 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 25 |
|
| 26 |
-
# Try manually created English transcript first
|
| 27 |
try:
|
| 28 |
-
|
| 29 |
-
|
| 30 |
-
|
| 31 |
-
|
| 32 |
-
|
| 33 |
-
|
| 34 |
|
| 35 |
-
except Exception as e:
|
| 36 |
-
print("🚫 Error getting transcript:", e)
|
| 37 |
-
raise RuntimeError("Subtitles not available.")
|
| 38 |
|
| 39 |
|
| 40 |
def format_transcript(transcript):
|
|
|
|
| 14 |
|
| 15 |
def get_subtitles(video_url):
|
| 16 |
"""
|
| 17 |
+
Gets English subtitles using youtube-transcript-api.
|
| 18 |
+
Tries manual subtitles first, then auto-generated.
|
| 19 |
"""
|
| 20 |
video_id = extract_video_id(video_url)
|
| 21 |
if not video_id:
|
| 22 |
raise ValueError("Invalid YouTube URL")
|
| 23 |
|
| 24 |
try:
|
| 25 |
+
# Try manually added subtitles in English
|
| 26 |
+
subtitles = YouTubeTranscriptApi.get_transcript(video_id, languages=['en'])
|
| 27 |
+
return subtitles
|
| 28 |
+
except Exception as e:
|
| 29 |
+
print("🚫 Error getting manual transcript:", e)
|
| 30 |
|
|
|
|
| 31 |
try:
|
| 32 |
+
# Try auto-generated English subtitles
|
| 33 |
+
subtitles = YouTubeTranscriptApi.get_transcript(video_id, languages=['en'])
|
| 34 |
+
return subtitles
|
| 35 |
+
except Exception as fallback_error:
|
| 36 |
+
print("❌ Fallback also failed:", fallback_error)
|
| 37 |
+
raise RuntimeError("Subtitles not available.")
|
| 38 |
|
|
|
|
|
|
|
|
|
|
| 39 |
|
| 40 |
|
| 41 |
def format_transcript(transcript):
|