Armando117 commited on
Commit
c6f5d35
1 Parent(s): 6b4765b

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +17 -18
app.py CHANGED
@@ -19,41 +19,40 @@ if not os.path.exists(dir_path):
19
 
20
  def convert_pdf_page_to_audio(pdf_file, page_number):
21
  try:
22
- # Crear un archivo temporal para el PDF
23
- temp_pdf_file = tempfile.NamedTemporaryFile(delete=False, suffix='.pdf')
24
- temp_pdf_file.write(pdf_file.read())
25
- temp_pdf_file.close()
26
- pdf_file_path = temp_pdf_file.name
27
 
28
  reader = PyPDF2.PdfReader(pdf_file_path)
29
  page_number = int(page_number)
30
  if page_number < 0 or page_number >= len(reader.pages):
31
- os.remove(pdf_file_path) # Eliminar el archivo temporal
32
  return None, "Número de página inválido."
33
 
34
  text = reader.pages[page_number].extract_text()
35
  if not text:
36
- os.remove(pdf_file_path) # Eliminar el archivo temporal
37
  return None, "No se pudo extraer texto de la página."
38
 
39
- # Crear un archivo temporal para el audio
40
- temp_audio_file = tempfile.NamedTemporaryFile(delete=False, suffix='.mp3')
41
- tts = gTTS(text=text, lang='es')
42
- tts.save(temp_audio_file.name)
43
- temp_audio_file.close()
44
- audio_file_path = temp_audio_file.name
45
 
46
- os.remove(pdf_file_path) # Eliminar el archivo PDF temporal
 
 
47
 
48
- return audio_file_path, None
 
 
 
49
 
50
  except Exception as e:
51
- # Limpieza en caso de excepción
52
- if temp_pdf_file:
53
- os.remove(temp_pdf_file.name)
54
  return None, f"Error: {str(e)}"
55
 
56
 
 
57
  # Crear la interfaz de Gradio
58
  iface = gr.Interface(
59
  fn=convert_pdf_page_to_audio,
 
19
 
20
  def convert_pdf_page_to_audio(pdf_file, page_number):
21
  try:
22
+ with tempfile.NamedTemporaryFile(delete=False, suffix='.pdf') as temp_pdf_file:
23
+ temp_pdf_file.write(pdf_file.read())
24
+ pdf_file_path = temp_pdf_file.name
 
 
25
 
26
  reader = PyPDF2.PdfReader(pdf_file_path)
27
  page_number = int(page_number)
28
  if page_number < 0 or page_number >= len(reader.pages):
29
+ os.remove(pdf_file_path)
30
  return None, "Número de página inválido."
31
 
32
  text = reader.pages[page_number].extract_text()
33
  if not text:
34
+ os.remove(pdf_file_path)
35
  return None, "No se pudo extraer texto de la página."
36
 
37
+ with tempfile.NamedTemporaryFile(delete=False, suffix='.mp3') as temp_audio_file:
38
+ tts = gTTS(text=text, lang='es')
39
+ tts.save(temp_audio_file.name)
40
+ audio_file_path = temp_audio_file.name
 
 
41
 
42
+ # Leer los datos binarios del archivo de audio
43
+ with open(audio_file_path, 'rb') as audio_file:
44
+ audio_data = audio_file.read()
45
 
46
+ os.remove(pdf_file_path)
47
+ os.remove(audio_file_path)
48
+
49
+ return audio_data, None # Devolver los datos binarios del audio
50
 
51
  except Exception as e:
 
 
 
52
  return None, f"Error: {str(e)}"
53
 
54
 
55
+
56
  # Crear la interfaz de Gradio
57
  iface = gr.Interface(
58
  fn=convert_pdf_page_to_audio,