MARKET / app.py
VIATEUR-AI's picture
Update app.py
e2ce234 verified
import gradio as gr
# Stock n'ibiciro (price ku kintu kimwe)
stock = {
"Ibiryayi": 100,
"Ibitunguru": 50,
"Karoti": 30,
"Ibicuruzwa_A": 50,
"Ibicuruzwa_B": 8,
"Ibicuruzwa_C": 0,
"Ibicuruzwa_D": 15,
"Amashu": 40,
"Imyembe": 25,
"Inanasi": 60,
"Amashaza": 70,
"Ibinyomoro": 10,
}
prices = {
"Ibiryayi": 200,
"Ibitunguru": 150,
"Karoti": 120,
"Ibicuruzwa_A": 500,
"Ibicuruzwa_B": 800,
"Ibicuruzwa_C": 1000,
"Ibicuruzwa_D": 400,
"Amashu": 250,
"Imyembe": 300,
"Inanasi": 350,
"Amashaza": 180,
"Ibinyomoro": 600,
}
def show_price(product_name):
if not product_name:
return "Hitamo igicuruzwa."
price = prices.get(product_name)
quantity = stock.get(product_name)
if price is None or quantity is None:
return f"Icyo gicuruzwa '{product_name}' ntikirimo mu bubiko cyangwa nta giciro gifite."
return f"Igicuruzwa '{product_name}' gifite ububiko bungana na {quantity} kandi igiciro cya kimwe ni {price} RWF."
def calc_total(product_name, quantity):
if not product_name:
return "Hitamo igicuruzwa."
if product_name not in stock or product_name not in prices:
return f"Icyo gicuruzwa '{product_name}' ntikirimo mu bubiko cyangwa nta giciro gifite."
if quantity is None or quantity <= 0:
return "Andika ingano yifuza kugura (ikwiye kuba irenze 0)."
available = stock[product_name]
price = prices[product_name]
if quantity > available:
return f"Ububiko bwa '{product_name}' buboneka ni {available}, ntabwo ushobora kugura {quantity}."
total_price = price * quantity
return (f"Ububiko bwa '{product_name}' ni {available}. "
f"Uhisemo kugura quantity {quantity}. "
f"Igiciro cyose: {total_price} RWF.")
with gr.Blocks() as demo:
gr.Markdown("# Gucunga Ububiko & Kwerekana Ibiciro")
with gr.Row():
product_dropdown = gr.Dropdown(choices=list(stock.keys()), label="Hitamo igicuruzwa")
show_price_btn = gr.Button("Erekana igiciro n'ububiko")
price_output = gr.Textbox(label="Ibisubizo", interactive=False)
show_price_btn.click(show_price, inputs=product_dropdown, outputs=price_output)
with gr.Row():
product_dropdown2 = gr.Dropdown(choices=list(stock.keys()), label="Hitamo igicuruzwa (kubara igiciro rusange)")
quantity_input = gr.Number(label="Andika ingano yifuza kugura", value=1, precision=0)
calc_btn = gr.Button("Bara igiciro rusange")
total_output = gr.Textbox(label="Ibisubizo", interactive=False)
calc_btn.click(calc_total, inputs=[product_dropdown2, quantity_input], outputs=total_output)
if __name__ == "__main__":
demo.launch()