DSatishchandra's picture
Update app.py (#1)
ea59f35 verified
# app.py
import gradio as gr
from ALNISF import process_pdf as process_alnisf
from federal_electric import process_pdf as process_federal_electric
from bhel import process_pdf as process_bhel
def process_file(pdf_file, extractor):
try:
if extractor == "ALNISF":
return process_alnisf(pdf_file)
elif extractor == "Federal Electric":
return process_federal_electric(pdf_file)
elif extractor == "BHEL":
return process_bhel(pdf_file)
else:
return None, "Invalid extractor selected."
except Exception as e:
return None, f"An error occurred: {str(e)}"
def create_main_interface():
return gr.Interface(
fn=process_file,
inputs=[
gr.File(label="Upload PDF", file_types=[".pdf"]),
gr.Radio(
["ALNISF", "Federal Electric", "BHEL"],
label="Select Extractor",
value="ALNISF"
),
],
outputs=[
gr.File(label="Download Extracted Data"),
gr.Textbox(label="Status"),
],
title="UC3 Unified PO Data Extraction",
description="Upload a Purchase Order PDF and select the extractor (ALNISF, Federal Electric, BHEL) to process the file and download the extracted data.",
)
if __name__ == "__main__":
interface = create_main_interface()
interface.launch()