24Sureshkumar commited on
Commit
68e4416
·
verified ·
1 Parent(s): 87bda70

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +7 -40
app.py CHANGED
@@ -1,16 +1,10 @@
1
- import gradio as gr
2
- import pandas as pd
3
- from itertools import combinations
4
- from copy import deepcopy
5
- import io
6
-
7
  def generate_teams(file, use_default):
8
  try:
9
- # Load file
10
- if use_default:
11
- df = pd.read_excel("default.xlsx")
12
- else:
13
- df = pd.read_excel(file.name)
14
 
15
  # Extract team names
16
  team_a_names = df.iloc[:, 0].dropna().tolist()
@@ -19,7 +13,7 @@ def generate_teams(file, use_default):
19
  team_a = [{"name": str(name).strip()} for name in team_a_names]
20
  team_b = [{"name": str(name).strip()} for name in team_b_names]
21
 
22
- # Generate all 25 teams by swapping 1 player
23
  all_teams = []
24
  for i in range(5):
25
  for j in range(5):
@@ -30,10 +24,9 @@ def generate_teams(file, use_default):
30
  "Players": new_team
31
  })
32
 
33
- # Generate all 250 combinations
34
  full_team_list = []
35
  team_output_counter = 1
36
-
37
  for team in all_teams:
38
  player_list = team["Players"]
39
  team_name = team["Team Name"]
@@ -67,29 +60,3 @@ def generate_teams(file, use_default):
67
 
68
  except Exception as e:
69
  return f"❌ Error: {str(e)}", None
70
-
71
- # Gradio interface
72
- with gr.Blocks() as demo:
73
- gr.Markdown("# 🏏 Generate All 250 Captain–Vice-Captain Combinations")
74
- gr.Markdown("Upload an Excel file with **Team A in column A** and **Team B in column B**. You can optionally use a default Excel file named `default.xlsx`.")
75
-
76
- with gr.Row():
77
- use_default_checkbox = gr.Checkbox(label="✅ Use default.xlsx file?", value=False)
78
- file_input = gr.File(label="📤 Upload Excel File (.xlsx)", file_types=[".xlsx"])
79
-
80
- with gr.Row():
81
- generate_btn = gr.Button("🔄 Generate Teams")
82
-
83
- output_table = gr.Dataframe(label="📋 250 Combinations", interactive=False)
84
- download_output = gr.File(label="📥 Download CSV")
85
-
86
- def wrapper(file, use_default):
87
- return generate_teams(file, use_default)
88
-
89
- generate_btn.click(
90
- fn=wrapper,
91
- inputs=[file_input, use_default_checkbox],
92
- outputs=[output_table, download_output]
93
- )
94
-
95
- demo.launch()
 
 
 
 
 
 
 
1
  def generate_teams(file, use_default):
2
  try:
3
+ if file is None and not use_default:
4
+ return "❌ Please upload a file or select 'Use default.xlsx'", None
5
+
6
+ # Read Excel
7
+ df = pd.read_excel("default.xlsx") if use_default else pd.read_excel(file.name)
8
 
9
  # Extract team names
10
  team_a_names = df.iloc[:, 0].dropna().tolist()
 
13
  team_a = [{"name": str(name).strip()} for name in team_a_names]
14
  team_b = [{"name": str(name).strip()} for name in team_b_names]
15
 
16
+ # Generate 25 teams
17
  all_teams = []
18
  for i in range(5):
19
  for j in range(5):
 
24
  "Players": new_team
25
  })
26
 
27
+ # Generate 250 combinations
28
  full_team_list = []
29
  team_output_counter = 1
 
30
  for team in all_teams:
31
  player_list = team["Players"]
32
  team_name = team["Team Name"]
 
60
 
61
  except Exception as e:
62
  return f"❌ Error: {str(e)}", None