Aktraiser commited on
Commit
5d1f5b8
·
verified ·
1 Parent(s): bd805ae

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +64 -33
app.py CHANGED
@@ -31,6 +31,7 @@ def get_nba_matches(target_date: str = None) -> str:
31
 
32
  Returns:
33
  A human-readable string listing the upcoming NBA matches with detailed odds information.
 
34
  """
35
  import requests
36
  import datetime
@@ -66,6 +67,9 @@ def get_nba_matches(target_date: str = None) -> str:
66
  return f"No NBA matches found for {target_date}."
67
 
68
  matches = []
 
 
 
69
  for event in data["events"]:
70
  # Extract event date and time
71
  event_date = event.get("event_date", "N/A")
@@ -80,6 +84,11 @@ def get_nba_matches(target_date: str = None) -> str:
80
  schedule = event.get("schedule", {})
81
  event_headline = schedule.get("event_headline", "")
82
 
 
 
 
 
 
83
  # Extract basic game info
84
  teams = event.get("teams_normalized", [])
85
  if not teams:
@@ -115,46 +124,68 @@ def get_nba_matches(target_date: str = None) -> str:
115
  venue_location = score_info.get("venue_location", "N/A")
116
  broadcast = score_info.get("broadcast", "N/A")
117
 
118
- game_info = [
119
- f"Date: {event_date}",
120
- ]
121
-
122
- if event_headline:
123
- game_info.append(f"Event: {event_headline}")
124
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
125
  game_info.extend([
126
- f"Game: {away_team.get('name', 'Unknown')} ({away_team.get('record', 'N/A')}) @ "
127
- f"{home_team.get('name', 'Unknown')} ({home_team.get('record', 'N/A')})",
128
  f"Venue: {venue_name} ({venue_location})",
129
  f"Broadcast: {broadcast}",
130
  ])
131
 
132
- # Only add odds if they are meaningful (not 0.0001)
133
- if moneyline_info.get("moneyline_away", 0) != 0.0001:
134
- game_info.append(
135
- f"Moneyline: {away_team.get('name', 'Away')} {moneyline_info.get('moneyline_away', 'N/A')} | "
136
- f"{home_team.get('name', 'Home')} {moneyline_info.get('moneyline_home', 'N/A')}"
137
- )
138
-
139
- if spread_info.get("point_spread_away", 0) != 0.0001:
140
- game_info.append(
141
- f"Spread: {away_team.get('name', 'Away')} {spread_info.get('point_spread_away', 'N/A')} "
142
- f"({spread_info.get('point_spread_away_money', 'N/A')})"
143
- )
144
-
145
- if total_info.get("total_over", 0) != 0.0001:
146
- game_info.append(
147
- f"Total: O/U {total_info.get('total_over', 'N/A')} "
148
- f"(Over: {total_info.get('total_over_money', 'N/A')} | "
149
- f"Under: {total_info.get('total_under_money', 'N/A')})"
150
- )
151
-
152
- game_info.append("----------------------------------------")
153
-
 
 
 
 
 
 
 
154
  matches.append("\n".join(game_info))
155
-
156
  if matches:
157
- return "\n".join(matches)
 
 
158
  else:
159
  return f"No NBA matches found with complete information for {target_date}."
160
 
 
31
 
32
  Returns:
33
  A human-readable string listing the upcoming NBA matches with detailed odds information.
34
+ For special events like the All-Star Game, includes additional event details.
35
  """
36
  import requests
37
  import datetime
 
67
  return f"No NBA matches found for {target_date}."
68
 
69
  matches = []
70
+ is_special_event = False
71
+ event_type = "Regular Season"
72
+
73
  for event in data["events"]:
74
  # Extract event date and time
75
  event_date = event.get("event_date", "N/A")
 
84
  schedule = event.get("schedule", {})
85
  event_headline = schedule.get("event_headline", "")
86
 
87
+ # Check if this is a special event
88
+ if "All-Star" in event_headline:
89
+ is_special_event = True
90
+ event_type = "NBA All-Star Game"
91
+
92
  # Extract basic game info
93
  teams = event.get("teams_normalized", [])
94
  if not teams:
 
124
  venue_location = score_info.get("venue_location", "N/A")
125
  broadcast = score_info.get("broadcast", "N/A")
126
 
127
+ # Format game information
128
+ game_info = []
129
+
130
+ # Add event type header if it's a special event
131
+ if is_special_event and event_headline:
132
+ game_info.extend([
133
+ "🏀 " + "=" * 30 + " NBA ALL-STAR GAME " + "=" * 30 + " 🏀",
134
+ f"Event: {event_headline}",
135
+ f"Date: {event_date}",
136
+ ])
137
+ else:
138
+ game_info.extend([
139
+ "🏀 " + "=" * 35 + " NBA GAME " + "=" * 35 + " 🏀",
140
+ f"Date: {event_date}",
141
+ ])
142
+
143
+ # Add team information
144
+ game_info.append(
145
+ f"Teams: {away_team.get('name', 'Unknown')} vs {home_team.get('name', 'Unknown')}"
146
+ )
147
+
148
+ # Add venue and broadcast
149
  game_info.extend([
 
 
150
  f"Venue: {venue_name} ({venue_location})",
151
  f"Broadcast: {broadcast}",
152
  ])
153
 
154
+ # Add betting information if available
155
+ if any(v != 0.0001 for v in [
156
+ moneyline_info.get("moneyline_away", 0),
157
+ moneyline_info.get("moneyline_home", 0),
158
+ spread_info.get("point_spread_away", 0),
159
+ total_info.get("total_over", 0)
160
+ ]):
161
+ game_info.append("\nBetting Lines:")
162
+
163
+ if moneyline_info.get("moneyline_away", 0) != 0.0001:
164
+ game_info.append(
165
+ f"Moneyline: {away_team.get('name')} ({moneyline_info.get('moneyline_away', 'N/A')}) | "
166
+ f"{home_team.get('name')} ({moneyline_info.get('moneyline_home', 'N/A')})"
167
+ )
168
+
169
+ if spread_info.get("point_spread_away", 0) != 0.0001:
170
+ game_info.append(
171
+ f"Spread: {away_team.get('name')} {spread_info.get('point_spread_away', 'N/A')} "
172
+ f"({spread_info.get('point_spread_away_money', 'N/A')})"
173
+ )
174
+
175
+ if total_info.get("total_over", 0) != 0.0001:
176
+ game_info.append(
177
+ f"Total: O/U {total_info.get('total_over', 'N/A')} "
178
+ f"(Over: {total_info.get('total_over_money', 'N/A')} | "
179
+ f"Under: {total_info.get('total_under_money', 'N/A')})"
180
+ )
181
+
182
+ game_info.append("=" * 80)
183
  matches.append("\n".join(game_info))
184
+
185
  if matches:
186
+ summary = f"\n🏀 NBA Schedule for {target_date} - {event_type} 🏀\n"
187
+ summary += "=" * 80 + "\n\n"
188
+ return summary + "\n\n".join(matches)
189
  else:
190
  return f"No NBA matches found with complete information for {target_date}."
191