@@ -74,10 +74,20 @@ def schedule(
74
74
if game_id :
75
75
params .update ({"gamePks" : game_id })
76
76
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"
77
87
params .update (
78
88
{
79
89
"sportId" : str (sportId ),
80
- "hydrate" : "decisions,probablePitcher(note),linescore,broadcasts,game(content(media(epg)))" ,
90
+ "hydrate" : hydrate ,
81
91
}
82
92
)
83
93
@@ -95,8 +105,8 @@ def schedule(
95
105
"game_date" : date ["date" ],
96
106
"game_type" : game ["gameType" ],
97
107
"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" , "???" ) ,
100
110
"away_id" : game ["teams" ]["away" ]["team" ]["id" ],
101
111
"home_id" : game ["teams" ]["home" ]["team" ]["id" ],
102
112
"doubleheader" : game ["doubleHeader" ],
@@ -128,6 +138,7 @@ def schedule(
128
138
if broadcast .get ("isNational" , False )
129
139
)
130
140
),
141
+ "series_status" : game .get ("seriesStatus" , {}).get ("result" ),
131
142
}
132
143
if game ["content" ].get ("media" , {}).get ("freeGame" , False ):
133
144
game_info ["national_broadcasts" ].append ("MLB.tv Free Game" )
@@ -137,12 +148,16 @@ def schedule(
137
148
else :
138
149
game_info .update (
139
150
{
140
- "winning_team" : game ["teams" ]["away" ]["team" ]["name" ]
151
+ "winning_team" : game ["teams" ]["away" ]["team" ].get (
152
+ "name" , "???"
153
+ )
141
154
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
+ )
144
159
if game ["teams" ]["away" ].get ("isWinner" )
145
- else game ["teams" ]["away" ]["team" ][ "name" ] ,
160
+ else game ["teams" ]["away" ]["team" ]. get ( "name" , "???" ) ,
146
161
"winning_pitcher" : game .get ("decisions" , {})
147
162
.get ("winner" , {})
148
163
.get ("fullName" , "" ),
@@ -157,13 +172,13 @@ def schedule(
157
172
summary = (
158
173
date ["date" ]
159
174
+ " - "
160
- + game ["teams" ]["away" ]["team" ][ "name" ]
175
+ + game ["teams" ]["away" ]["team" ]. get ( "name" , "???" )
161
176
+ " ("
162
- + str (game ["teams" ]["away" ][ "score" ] )
177
+ + str (game ["teams" ]["away" ]. get ( "score" , "" ) )
163
178
+ ") @ "
164
- + game ["teams" ]["home" ]["team" ][ "name" ]
179
+ + game ["teams" ]["home" ]["team" ]. get ( "name" , "???" )
165
180
+ " ("
166
- + str (game ["teams" ]["home" ][ "score" ] )
181
+ + str (game ["teams" ]["home" ]. get ( "score" , "" ) )
167
182
+ ") ("
168
183
+ game ["status" ]["detailedState" ]
169
184
+ ")"
@@ -176,11 +191,11 @@ def schedule(
176
191
+ " - "
177
192
+ game ["teams" ]["away" ]["team" ]["name" ]
178
193
+ " ("
179
- + str (game ["teams" ]["away" ][ "score" ] )
194
+ + str (game ["teams" ]["away" ]. get ( "score" , "0" ) )
180
195
+ ") @ "
181
196
+ game ["teams" ]["home" ]["team" ]["name" ]
182
197
+ " ("
183
- + str (game ["teams" ]["home" ][ "score" ] )
198
+ + str (game ["teams" ]["home" ]. get ( "score" , "0" ) )
184
199
+ ") ("
185
200
+ game ["linescore" ]["inningState" ]
186
201
+ " of the "
0 commit comments