WilliamRabuel commited on
Commit
d5bc100
·
verified ·
1 Parent(s): b22877c

Update tools.py

Browse files
Files changed (1) hide show
  1. tools.py +12 -3
tools.py CHANGED
@@ -527,19 +527,28 @@ def read_file(file_path: str) -> Dict[str, Any]:
527
  def get_youtube_transcript(video_url: str) -> Dict[str, Any]:
528
  """
529
  Récupère la transcription d'une vidéo YouTube à partir de son URL standard.
 
 
 
 
 
 
 
530
  """
531
  try:
532
  video_id = None
533
- # Cherche l'ID après "v=" ou sur le domaine "youtu.be"
534
  if "v=" in video_url:
535
  video_id = video_url.split("v=")[1].split('&')[0]
536
- elif "youtu.be/" in video_url:
537
- video_id = video_url.split("youtu.be/")[1].split('?')[0]
 
538
 
539
  if not video_id:
540
  return {"error": f"Impossible d'extraire l'ID de la vidéo depuis l'URL : {video_url}"}
541
 
542
  print(f"📖 Récupération de la transcription pour la vidéo YouTube : {video_id}")
 
543
  transcript_list = YouTubeTranscriptApi.get_transcript(video_id, languages=['en', 'fr'])
544
  transcript_text = " ".join([item['text'] for item in transcript_list])
545
  return {"status": "success", "transcript": transcript_text[:15000]}
 
527
  def get_youtube_transcript(video_url: str) -> Dict[str, Any]:
528
  """
529
  Récupère la transcription d'une vidéo YouTube à partir de son URL standard.
530
+
531
+ Args:
532
+ video_url (str): L'URL complète et standard de la vidéo YouTube dont la transcription est nécessaire.
533
+
534
+ Returns:
535
+ Un dictionnaire contenant la transcription complète sous la clé 'transcript' en cas de succès,
536
+ ou un message d'erreur sous la clé 'error' en cas d'échec.
537
  """
538
  try:
539
  video_id = None
540
+ # Cherche l'ID après "v="
541
  if "v=" in video_url:
542
  video_id = video_url.split("v=")[1].split('&')[0]
543
+ # Cherche l'ID dans les URLs du benchmark
544
+ elif video_url.startswith("http://googleusercontent.com/youtube.com/"):
545
+ video_id = video_url.split('/')[-1]
546
 
547
  if not video_id:
548
  return {"error": f"Impossible d'extraire l'ID de la vidéo depuis l'URL : {video_url}"}
549
 
550
  print(f"📖 Récupération de la transcription pour la vidéo YouTube : {video_id}")
551
+ # On demande la transcription en anglais (le plus courant) et en français.
552
  transcript_list = YouTubeTranscriptApi.get_transcript(video_id, languages=['en', 'fr'])
553
  transcript_text = " ".join([item['text'] for item in transcript_list])
554
  return {"status": "success", "transcript": transcript_text[:15000]}