Skip to content

Commit ecf58c8

Browse files
authored
Merge pull request #97 from toddrob99/develop
v1.6
2 parents e0612f0 + dc7a94c commit ecf58c8

File tree

2 files changed

+29
-14
lines changed

2 files changed

+29
-14
lines changed

statsapi/__init__.py

Lines changed: 28 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -74,10 +74,20 @@ def schedule(
7474
if game_id:
7575
params.update({"gamePks": game_id})
7676

77+
hydrate = (
78+
"decisions,probablePitcher(note),linescore,broadcasts,game(content(media(epg)))"
79+
)
80+
if date == "2014-03-11" or (str(start_date) <= "2014-03-11" <= str(end_date)):
81+
# For some reason the seriesStatus hydration throws a server error on 2014-03-11 only (checked back to 2000)
82+
logger.warning(
83+
"Excluding seriesStatus hydration because the MLB API throws an error for 2014-03-11 which is included in the requested date range."
84+
)
85+
else:
86+
hydrate += ",seriesStatus"
7787
params.update(
7888
{
7989
"sportId": str(sportId),
80-
"hydrate": "decisions,probablePitcher(note),linescore,broadcasts,game(content(media(epg)))",
90+
"hydrate": hydrate,
8191
}
8292
)
8393

@@ -95,8 +105,8 @@ def schedule(
95105
"game_date": date["date"],
96106
"game_type": game["gameType"],
97107
"status": game["status"]["detailedState"],
98-
"away_name": game["teams"]["away"]["team"]["name"],
99-
"home_name": game["teams"]["home"]["team"]["name"],
108+
"away_name": game["teams"]["away"]["team"].get("name", "???"),
109+
"home_name": game["teams"]["home"]["team"].get("name", "???"),
100110
"away_id": game["teams"]["away"]["team"]["id"],
101111
"home_id": game["teams"]["home"]["team"]["id"],
102112
"doubleheader": game["doubleHeader"],
@@ -128,6 +138,7 @@ def schedule(
128138
if broadcast.get("isNational", False)
129139
)
130140
),
141+
"series_status": game.get("seriesStatus", {}).get("result"),
131142
}
132143
if game["content"].get("media", {}).get("freeGame", False):
133144
game_info["national_broadcasts"].append("MLB.tv Free Game")
@@ -137,12 +148,16 @@ def schedule(
137148
else:
138149
game_info.update(
139150
{
140-
"winning_team": game["teams"]["away"]["team"]["name"]
151+
"winning_team": game["teams"]["away"]["team"].get(
152+
"name", "???"
153+
)
141154
if game["teams"]["away"].get("isWinner")
142-
else game["teams"]["home"]["team"]["name"],
143-
"losing_team": game["teams"]["home"]["team"]["name"]
155+
else game["teams"]["home"]["team"].get("name", "???"),
156+
"losing_team": game["teams"]["home"]["team"].get(
157+
"name", "???"
158+
)
144159
if game["teams"]["away"].get("isWinner")
145-
else game["teams"]["away"]["team"]["name"],
160+
else game["teams"]["away"]["team"].get("name", "???"),
146161
"winning_pitcher": game.get("decisions", {})
147162
.get("winner", {})
148163
.get("fullName", ""),
@@ -157,13 +172,13 @@ def schedule(
157172
summary = (
158173
date["date"]
159174
+ " - "
160-
+ game["teams"]["away"]["team"]["name"]
175+
+ game["teams"]["away"]["team"].get("name", "???")
161176
+ " ("
162-
+ str(game["teams"]["away"]["score"])
177+
+ str(game["teams"]["away"].get("score", ""))
163178
+ ") @ "
164-
+ game["teams"]["home"]["team"]["name"]
179+
+ game["teams"]["home"]["team"].get("name", "???")
165180
+ " ("
166-
+ str(game["teams"]["home"]["score"])
181+
+ str(game["teams"]["home"].get("score", ""))
167182
+ ") ("
168183
+ game["status"]["detailedState"]
169184
+ ")"
@@ -176,11 +191,11 @@ def schedule(
176191
+ " - "
177192
+ game["teams"]["away"]["team"]["name"]
178193
+ " ("
179-
+ str(game["teams"]["away"]["score"])
194+
+ str(game["teams"]["away"].get("score", "0"))
180195
+ ") @ "
181196
+ game["teams"]["home"]["team"]["name"]
182197
+ " ("
183-
+ str(game["teams"]["home"]["score"])
198+
+ str(game["teams"]["home"].get("score", "0"))
184199
+ ") ("
185200
+ game["linescore"]["inningState"]
186201
+ " of the "

statsapi/version.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
#!/usr/bin/env python
22

3-
VERSION = "1.5.1"
3+
VERSION = "1.6"

0 commit comments

Comments
 (0)