import gradio as gr from text_analysis import generate_lesson_from_transcript as generate_lesson_from_transcript_logic from utils import process_large_text from pdfminer.high_level import extract_text # Import PDF-to-text conversion def pdf_to_text(pdf_path): """ Converts PDF to text """ return extract_text(pdf_path) def generate_lesson(doc_text=None, pdf_file=None): """ Generate lesson from transcript text or PDF input. """ try: if pdf_file: doc_text = pdf_to_text(pdf_file.name) # Process large text processed_text = process_large_text(doc_text) # Generate lesson generated_text, output_path = generate_lesson_from_transcript_logic(processed_text) if output_path: return generated_text, gr.File(output_path) else: return 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()