lgsantini1 commited on
Commit
717a0dc
·
verified ·
1 Parent(s): 4457f7b

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +11 -2
app.py CHANGED
@@ -3,6 +3,11 @@ import gradio as gr
3
  from youtube_transcript_api import YouTubeTranscriptApi
4
  from youtube_transcript_api._errors import TranscriptsDisabled
5
  import traceback
 
 
 
 
 
6
 
7
  def extract_video_id(youtube_url):
8
  # Regex para extrair o ID do vídeo da URL do YouTube
@@ -36,11 +41,15 @@ def get_transcript(video_id, language="en"):
36
  error_message += traceback.format_exc()
37
  return error_message
38
 
39
- def gradio_interface(youtube_url, language):
 
 
 
 
40
  video_id = extract_video_id(youtube_url)
41
  if not video_id:
42
  return "Erro: URL inválida. Por favor, insira um link válido do YouTube."
43
- transcript = get_transcript(video_id, language)
44
  return transcript
45
 
46
  iface = gr.Interface(
 
3
  from youtube_transcript_api import YouTubeTranscriptApi
4
  from youtube_transcript_api._errors import TranscriptsDisabled
5
  import traceback
6
+ import asyncio
7
+ from concurrent.futures import ThreadPoolExecutor
8
+
9
+ # Criar um executor para executar funções síncronas de forma assíncrona
10
+ executor = ThreadPoolExecutor(max_workers=4)
11
 
12
  def extract_video_id(youtube_url):
13
  # Regex para extrair o ID do vídeo da URL do YouTube
 
41
  error_message += traceback.format_exc()
42
  return error_message
43
 
44
+ async def async_get_transcript(video_id, language="en"):
45
+ loop = asyncio.get_event_loop()
46
+ return await loop.run_in_executor(executor, get_transcript, video_id, language)
47
+
48
+ async def gradio_interface(youtube_url, language):
49
  video_id = extract_video_id(youtube_url)
50
  if not video_id:
51
  return "Erro: URL inválida. Por favor, insira um link válido do YouTube."
52
+ transcript = await async_get_transcript(video_id, language)
53
  return transcript
54
 
55
  iface = gr.Interface(