import gradio as gr from timetable import generate_timetable from pdf_utils import export_timetable_pdf def generate_and_export(courses_file, rooms_file): timetable_dict = generate_timetable(courses_file.name, rooms_file.name) pdf_file = export_timetable_pdf(timetable_dict) return pdf_file with gr.Blocks() as demo: gr.Markdown("## Class/Program Wise Time Table Generator") with gr.Row(): courses_file = gr.File(label="Upload courses.csv") rooms_file = gr.File(label="Upload rooms.csv") generate_btn = gr.Button("Generate Time Table") pdf_output = gr.File(label="Download PDF") generate_btn.click(generate_and_export, inputs=[courses_file, rooms_file], outputs=[pdf_output]) demo.launch()