78 lines
3.3 KiB
Python
78 lines
3.3 KiB
Python
import statsapi
|
|
import datetime
|
|
import pytz
|
|
|
|
def process_game(game,mytz):
|
|
results = ""
|
|
if game["home_name"] == "Pittsburgh Pirates": # home game
|
|
score_pirates = game["home_score"]
|
|
score_other = game["away_score"]
|
|
results += "vs "+game["away_name"]
|
|
else:
|
|
score_pirates = game["away_score"]
|
|
score_other = game["home_score"]
|
|
results += "at "+game["home_name"]
|
|
if game["status"] != "Scheduled":
|
|
if game["status"] == "Final":
|
|
if score_pirates > score_other:
|
|
results += ", Pirates won"
|
|
else:
|
|
results += ", Pirates lost"
|
|
else: # game in progress
|
|
if score_pirates > score_other:
|
|
results += ", Pirates winning"
|
|
elif score_pirates < score_other:
|
|
results += ", Pirates losing"
|
|
else:
|
|
results += ", tied"
|
|
results += " "+str(game["away_score"])+" - "+str(game["home_score"])
|
|
if game["status"] != "Final":
|
|
gamedate = datetime.datetime.strptime(game["game_datetime"],"%Y-%m-%dT%H:%M:%SZ")
|
|
gamedateutc = gamedate.replace(tzinfo=datetime.timezone.utc)
|
|
results+= (" "+gamedateutc.astimezone(tz=mytz).strftime("%I:%M %p")).replace(" 0"," ")
|
|
if game["national_broadcasts"]:
|
|
nb = ""
|
|
for b in game["national_broadcasts"]:
|
|
if nb:
|
|
nb += ", "
|
|
nb += b
|
|
results += " (on "+nb+")"
|
|
results += " ("+game["status"]+")"
|
|
return results
|
|
|
|
|
|
def get_pirates():
|
|
useastern_timezone = pytz.timezone("US/Eastern")
|
|
results = ""
|
|
todaystr = datetime.datetime.now(tz=useastern_timezone).strftime("%Y-%m-%d")
|
|
tomorrow = datetime.datetime.now(tz=useastern_timezone)+datetime.timedelta(days=1)
|
|
tomorrowstr = tomorrow.strftime("%Y-%m-%d")
|
|
yesterday = datetime.datetime.now(tz=useastern_timezone)+datetime.timedelta(days=-1)
|
|
yesterdaystr = yesterday.strftime("%Y-%m-%d")
|
|
piratesid = statsapi.lookup_team('pittsburgh')[0]['id']
|
|
yesterdaysgame = statsapi.schedule(team=piratesid,date=yesterdaystr)
|
|
if yesterdaysgame:
|
|
results+= "Yesterday: "+process_game(yesterdaysgame[0],useastern_timezone)+"\n"
|
|
todaysgame = statsapi.schedule(team=piratesid,date=todaystr)
|
|
if todaysgame:
|
|
results+= "Today: "+process_game(todaysgame[0],useastern_timezone)+"\n"
|
|
#results += todaysgame[0]["summary"]+" "+todaysgame[0]["game_datetime"]+"\n"
|
|
#print("todaysgame",todaysgame)
|
|
tomorrowsgame = statsapi.schedule(team=piratesid,date=tomorrowstr)
|
|
if tomorrowsgame:
|
|
results+= "Tomorrow: "+process_game(tomorrowsgame[0],useastern_timezone)+"\n"
|
|
#dtt = tomorrowsgame[0]["game_datetime"][11:16]
|
|
#results+= tomorrowsgame[0]["summary"]+" "+tomorrowsgame[0]["game_datetime"]+"\n"
|
|
return results
|
|
|
|
if __name__ == '__main__':
|
|
print(get_pirates())
|
|
|
|
#print(statsapi.schedule(team=piratesid))
|
|
# 6/5 Local time 7:15 pm '2026-06-05T23:15:00Z'
|
|
# 6/6 Local time 4:10 pm '2026-06-06T20:10:00Z'
|
|
# 6/7 Local time 1:35 pm '2026-06-07T17:35:00Z'
|
|
# datetime.datetime.strptime(game[0]["game_datetime"],"%Y-%m-%dT%H:%M:%SZ")
|
|
# gamedateutc = gamedate.replace(tzinfo=datetime.timezone.utc)
|
|
# gamedateutc.astimezone()
|