DSatishchandra commited on
Commit
013b172
·
verified ·
1 Parent(s): bf46b85

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +15 -14
app.py CHANGED
@@ -14,16 +14,14 @@ def filter_menu(preference):
14
  # Load menu data
15
  menu_data = load_menu()
16
 
17
- # Check for the required columns
18
- required_columns = ["Category", "Dish Name", "Price ($)", "Image URL", "Description"]
19
- for col in required_columns:
20
- if col not in menu_data.columns:
21
- raise ValueError(f"Missing column in Excel file: {col}")
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
 
29
  # Generate HTML for the menu
@@ -46,13 +44,12 @@ def filter_menu(preference):
46
 
47
  # Gradio app definition
48
  def app():
49
- with gr.Blocks(title="Dynamic Menu with Preferences") as demo:
50
- # Add a title
51
  gr.Markdown("## Dynamic Menu with Preferences")
52
 
53
  # Radio button for selecting preference
54
  selected_preference = gr.Radio(
55
- choices=["All", "Vegan", "Halal", "Guilt-Free"],
56
  value="All",
57
  label="Choose a Preference",
58
  )
@@ -63,9 +60,13 @@ def app():
63
  # Define interactivity
64
  selected_preference.change(filter_menu, inputs=[selected_preference], outputs=[menu_output])
65
 
 
 
 
 
66
  return demo
67
 
68
  # Run the app
69
  if __name__ == "__main__":
70
  demo = app()
71
- demo.launch()
 
14
  # Load menu data
15
  menu_data = load_menu()
16
 
17
+ # Define filter conditions
18
+ if preference == "Halal/Non-Veg":
19
+ filtered_data = menu_data[menu_data["Ingredients"].str.contains("Chicken|Mutton|Fish|Prawns|Goat", case=False, na=False)]
20
+ elif preference == "Vegetarian":
21
+ filtered_data = menu_data[~menu_data["Ingredients"].str.contains("Chicken|Mutton|Fish|Prawns|Goat", case=False, na=False)]
22
+ elif preference == "Guilt-Free":
23
+ filtered_data = menu_data[menu_data["Description"].str.contains(r"Fat: ([0-9]|10)g", case=False, na=False)]
24
+ else: # Default to "All"
 
 
25
  filtered_data = menu_data
26
 
27
  # Generate HTML for the menu
 
44
 
45
  # Gradio app definition
46
  def app():
47
+ with gr.Blocks(title="Dynamic Menu with Filters") as demo:
 
48
  gr.Markdown("## Dynamic Menu with Preferences")
49
 
50
  # Radio button for selecting preference
51
  selected_preference = gr.Radio(
52
+ choices=["All", "Vegetarian", "Halal/Non-Veg", "Guilt-Free"],
53
  value="All",
54
  label="Choose a Preference",
55
  )
 
60
  # Define interactivity
61
  selected_preference.change(filter_menu, inputs=[selected_preference], outputs=[menu_output])
62
 
63
+ # Layout
64
+ gr.Row([selected_preference])
65
+ gr.Row(menu_output)
66
+
67
  return demo
68
 
69
  # Run the app
70
  if __name__ == "__main__":
71
  demo = app()
72
+ demo.launch()