import gradio as gr import requests import json API_URL = "https://ia.nebuia.com/api/v1/integrator/extractor/from/excel" API_KEY = "2J7NFWQ-236PGAM-2S9RD3C-2DG54CY" API_SECRET = "a47abf97-866b-4154-b29c-346c9b02919e" def send_excel_to_api(file_path, json_structure): headers = { 'key': API_KEY, 'secret': API_SECRET } files = { 'file': open(file_path, 'rb') } data = { 'structure': json_structure } try: response = requests.post(API_URL, headers=headers, files=files, data=data) if response.status_code == 200: result = response.json() return json.dumps(result, indent=2) else: return f"Error: Received status code {response.status_code}\n{response.text}" except requests.RequestException as e: return f"Error sending request: {e}" finally: files['file'].close() def gradio_interface(file, json_structure): if file is None: return "Please upload an Excel file." return send_excel_to_api(file.name, json_structure) # Custom color for the theme custom_purple = "#7f56d9" # Create the Gradio interface using Blocks with gr.Blocks(theme=gr.themes.Default(primary_hue="purple", secondary_hue="purple")) as demo: gr.Markdown( """