case_study / app.py
GurgenGulay's picture
Update app.py
cbdaed8 verified
raw
history blame
1.09 kB
import gradio as gr
from utils import process_large_text, generate_lesson_from_transcript as generate_lesson_from_transcript_logic
from pdfminer.high_level import extract_text
def pdf_to_text(pdf_path):
try:
return extract_text(pdf_path)
except Exception as e:
raise ValueError(f"PDF extraction error: {str(e)}")
def generate_lesson(doc_text=None, pdf_file=None):
try:
if pdf_file and doc_text:
return "Please provide either a text input or a PDF file, not both.", None
if pdf_file:
doc_text = pdf_to_text(pdf_file.name)
processed_text = process_large_text(doc_text)
generated_text, output_path = generate_lesson_from_transcript_logic(processed_text)
return (generated_text, gr.File(output_path)) if output_path else (generated_text, None)
except Exception as e:
return f"Error occurred: {str(e)}", None
gr.Interface(
fn=generate_lesson,
inputs=[gr.Textbox(label="Input Text"), gr.File(label="Upload PDF")],
outputs=["text", "file"],
).launch()