Spaces:
Sleeping
Sleeping
Update app.py
Browse files
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 |
-
|
10 |
-
|
11 |
-
|
12 |
-
|
13 |
-
|
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
|
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
|
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|