DSatishchandra commited on
Commit
b537c3b
·
verified ·
1 Parent(s): 8d5be6b

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +28 -22
app.py CHANGED
@@ -1,15 +1,15 @@
1
- import pandas as pd
2
  import gradio as gr
 
3
 
4
- # Function to load menu data
5
- def load_menu(file_path="menu.xlsx"):
 
6
  try:
7
- menu_data = pd.read_excel(file_path)
8
- return menu_data
9
- except FileNotFoundError:
10
- raise FileNotFoundError("The menu.xlsx file was not found. Ensure it is in the same directory as app.py.")
11
 
12
- # Function to filter the menu based on preference
13
  def filter_menu(preference):
14
  # Load menu data
15
  menu_data = load_menu()
@@ -22,7 +22,7 @@ def filter_menu(preference):
22
 
23
  # Filter data based on preference
24
  if preference != "All":
25
- filtered_data = menu_data[menu_data["Category"] == preference]
26
  else:
27
  filtered_data = menu_data
28
 
@@ -46,22 +46,28 @@ def filter_menu(preference):
46
 
47
  # Gradio app definition
48
  def app():
49
- # Menu preferences
50
- preferences = ["All", "Vegan", "Halal", "Guilt-Free"]
51
-
52
- with gr.Blocks() as demo:
53
- gr.Markdown("# Dynamic Menu with Preferences")
54
-
55
- # Radio buttons for preferences
56
- selected_preference = gr.Radio(preferences, label="Choose a Preference")
57
 
58
- # Display the filtered menu
59
- menu_output = gr.HTML()
60
- selected_preference.change(filter_menu, inputs=[selected_preference], outputs=[menu_output])
61
 
62
- # Initial menu load (all items)
63
- menu_output.value = filter_menu("All")
64
 
 
 
 
 
 
 
 
 
 
65
  return demo
66
 
67
  # Run the app
 
 
1
  import gradio as gr
2
+ import pandas as pd
3
 
4
+ # Function to load the menu data from Excel
5
+ def load_menu():
6
+ menu_file = "menu.xlsx" # Make sure this file exists in the same directory
7
  try:
8
+ return pd.read_excel(menu_file)
9
+ except Exception as e:
10
+ raise ValueError(f"Error loading menu file: {e}")
 
11
 
12
+ # Function to filter menu items based on preference
13
  def filter_menu(preference):
14
  # Load menu data
15
  menu_data = load_menu()
 
22
 
23
  # Filter data based on preference
24
  if preference != "All":
25
+ filtered_data = menu_data[menu_data["Category"].str.contains(preference, case=False, na=False)]
26
  else:
27
  filtered_data = menu_data
28
 
 
46
 
47
  # Gradio app definition
48
  def app():
49
+ # Radio button for selecting preference
50
+ selected_preference = gr.Radio(
51
+ choices=["All", "Vegan", "Halal", "Guilt-Free"],
52
+ value="All",
53
+ label="Choose a Preference",
54
+ )
 
 
55
 
56
+ # Output area for menu items
57
+ menu_output = gr.HTML(value=filter_menu("All"))
 
58
 
59
+ # Set up Gradio interface
60
+ selected_preference.change(filter_menu, inputs=[selected_preference], outputs=[menu_output])
61
 
62
+ # Layout definition
63
+ demo = gr.Interface(
64
+ fn=None,
65
+ inputs=[selected_preference],
66
+ outputs=[menu_output],
67
+ live=True,
68
+ title="Dynamic Menu with Preferences",
69
+ theme="default",
70
+ )
71
  return demo
72
 
73
  # Run the app