backend / app.py
eshan6704's picture
Update app.py
b772d87 verified
raw
history blame
1.99 kB
# app.py
import gradio as gr
from daily import fetch_daily
from intraday import fetch_intraday
from info import fetch_info
from qresult import fetch_qresult
from result import fetch_result
from balance import fetch_balance
from cashflow import fetch_cashflow
from dividend import fetch_dividend
from split import fetch_split
from other import fetch_other
# --- Main UI function ---
def fetch_data(symbol, req_type):
req_type = req_type.lower()
if req_type == "daily":
return fetch_daily(symbol,"NSE")
elif req_type == "intraday":
return fetch_intraday(symbol)
elif req_type == "info":
return fetch_info(symbol)
elif req_type == "qresult":
return fetch_qresult(symbol)
elif req_type == "result":
return fetch_result(symbol)
elif req_type == "balance":
return fetch_balance(symbol)
elif req_type == "cashflow":
return fetch_cashflow(symbol)
elif req_type == "dividend":
return fetch_dividend(symbol)
elif req_type == "split":
return fetch_split(symbol)
elif req_type == "other":
return fetch_other(symbol)
else:
return f"<h1>No handler for {req_type}</h1>"
# --- Gradio Interface ---
iface = gr.Interface(
fn=fetch_data,
inputs=[
gr.Textbox(label="Stock Symbol", value="PNB"),
gr.Dropdown(
label="Request Type",
choices=[
"info",
"intraday",
"daily",
"qresult",
"result",
"balance",
"cashflow",
"dividend",
"split",
"other"
],
value="info"
)
],
outputs=gr.HTML(label="Full HTML Output"),
title="Stock Data API (Full)",
description="Fetch NSE stock data with charts and indicators",
api_name="fetch_data"
)
if __name__ == "__main__":
iface.launch(server_name="0.0.0.0", server_port=7860)