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

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +31 -3
app.py CHANGED
@@ -1,5 +1,12 @@
 
 
 
 
 
 
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
 
@@ -13,7 +20,7 @@ def generate_teams(file, use_default):
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,7 +31,7 @@ def generate_teams(file, use_default):
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:
@@ -51,7 +58,7 @@ def generate_teams(file, use_default):
51
 
52
  final_df = pd.DataFrame(full_team_list)
53
 
54
- # Save to CSV in-memory
55
  csv_buffer = io.StringIO()
56
  final_df.to_csv(csv_buffer, index=False)
57
  csv_buffer.seek(0)
@@ -60,3 +67,24 @@ def generate_teams(file, use_default):
60
 
61
  except Exception as e:
62
  return f"❌ Error: {str(e)}", None
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
+ # Handle missing input
10
  if file is None and not use_default:
11
  return "❌ Please upload a file or select 'Use default.xlsx'", None
12
 
 
20
  team_a = [{"name": str(name).strip()} for name in team_a_names]
21
  team_b = [{"name": str(name).strip()} for name in team_b_names]
22
 
23
+ # Generate 25 teams by swapping 1 player
24
  all_teams = []
25
  for i in range(5):
26
  for j in range(5):
 
31
  "Players": new_team
32
  })
33
 
34
+ # Generate 250 captain–vice-captain combinations
35
  full_team_list = []
36
  team_output_counter = 1
37
  for team in all_teams:
 
58
 
59
  final_df = pd.DataFrame(full_team_list)
60
 
61
+ # Save CSV to memory
62
  csv_buffer = io.StringIO()
63
  final_df.to_csv(csv_buffer, index=False)
64
  csv_buffer.seek(0)
 
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 (Column A) and Team B (Column B) or use a default file.")
75
+
76
+ with gr.Row():
77
+ use_default_checkbox = gr.Checkbox(label="✅ Use default.xlsx?", value=False)
78
+ file_input = gr.File(label="📤 Upload Excel File (.xlsx)", file_types=[".xlsx"])
79
+
80
+ generate_btn = gr.Button("🔄 Generate Teams")
81
+
82
+ output_table = gr.Dataframe(label="📋 250 C–VC Combinations")
83
+ download_button = gr.File(label="📥 Download CSV")
84
+
85
+ def wrapper(file, use_default):
86
+ return generate_teams(file, use_default)
87
+
88
+ generate_btn.click(fn=wrapper, inputs=[file_input, use_default_checkbox], outputs=[output_table, download_button])
89
+
90
+ demo.launch()