Update gtype params

This commit is contained in:
Cal Corum 2023-10-29 14:11:08 -05:00
parent 60a4910735
commit fb151f6bae

View File

@ -436,7 +436,7 @@ async def get_batting_totals(
bat_plays = bat_plays.group_by(StratPlay.game.season)
run_plays = run_plays.join(StratGame)
run_plays = run_plays.group_by(StratPlay.game.season)
elif group_by == 'gametype':
elif group_by == 'gtype':
bat_plays = bat_plays.join(StratGame)
bat_plays = bat_plays.group_by(StratPlay.game.game_type)
run_plays = run_plays.join(StratGame)
@ -612,7 +612,9 @@ async def get_batting_totals(
async def get_pitching_totals(
season: list = Query(default=None), week: list = Query(default=None),
s_type: Literal['regular', 'post', 'total', None] = None, player_id: list = Query(default=None),
group_by: Literal['team', 'player', 'playerteam', 'playergame', 'teamgame', 'league', 'gametype'] = 'player',
group_by: Literal[
'team', 'player', 'playerteam', 'playergame', 'teamgame', 'league', 'gmtype', 'playergtype',
'playerteamgtype'] = 'player', is_gauntlet: Optional[bool] = None,
min_pa: Optional[int] = 1, team_id: list = Query(default=None), manager_id: list = Query(default=None),
obc: list = Query(default=None), risp: Optional[bool] = None, inning: list = Query(default=None),
page_num: Optional[int] = 1, game_type: list = Query(default=None), sort: Optional[str] = 'ip-desc',
@ -714,10 +716,13 @@ async def get_pitching_totals(
elif group_by == 'league':
pit_plays = pit_plays.join(StratGame)
pit_plays = pit_plays.group_by(StratPlay.game.season)
elif group_by == 'gametype':
elif group_by == 'gtype':
pit_plays = pit_plays.join(StratGame)
pit_plays = pit_plays.group_by(StratPlay.game.game_type)
elif group_by == 'playerteamgametype':
elif group_by == 'playergtype':
pit_plays = pit_plays.join(StratGame)
pit_plays = pit_plays.group_by(StratPlay.pitcher, StratPlay.game.game_type)
elif group_by == 'playerteamgtype':
pit_plays = pit_plays.join(StratGame)
pit_plays = pit_plays.group_by(StratPlay.pitcher, StratPlay.pitcher_team, StratPlay.game.game_type)
if sort is not None:
@ -769,6 +774,8 @@ async def get_pitching_totals(
if group_by in ['playergame', 'teamgame']:
this_game = x.game_id if short_output else model_to_dict(x.game, recurse=False)
this_dec = all_dec.where((Decision.pitcher == x.pitcher) & (Decision.game == x.game))
elif 'gtype' in group_by:
this_game = x.game.game_type
lob_all_rate, lob_2outs_rate, rbi_rate = 0, 0, 0
if x.count_runner1 + x.count_runner2 + x.count_runner3 > 0:
@ -841,6 +848,11 @@ async def get_pitching_totals(
x['player_cardset'] = x['player']['cardset']['name']
x['team_id'] = x['team']['id']
x['team_abbrev'] = x['team']['abbrev']
if 'id' in x['game']:
x['game_id'] = x['game']['id']
if 'game_type' in x['game']:
x['game_type'] = x['game']['game_type']
del x['game']
del x['player'], x['team']
output = pd.DataFrame(return_vals)