Param updates to /plays
This commit is contained in:
parent
342eb50362
commit
1168d7abaa
@ -4,7 +4,7 @@ import copy
|
||||
import logging
|
||||
import pydantic
|
||||
|
||||
from ..db_engine import db, Decision, StratGame, Player, model_to_dict, chunked, fn
|
||||
from ..db_engine import db, Decision, StratGame, Player, model_to_dict, chunked, fn, Team
|
||||
from ..dependencies import oauth2_scheme, valid_token, LOG_DATA
|
||||
|
||||
logging.basicConfig(
|
||||
@ -62,6 +62,12 @@ async def get_decisions(
|
||||
all_dec = all_dec.where(Decision.game_id << game_id)
|
||||
if player_id is not None:
|
||||
all_dec = all_dec.where(Decision.pitcher << player_id)
|
||||
# # Need to allow for split-season stats
|
||||
# if team_id is not None:
|
||||
# all_teams = Team.select().where(Team.id << team_id)
|
||||
# all_games = StratGame.select().where(
|
||||
# (StratGame.away_team << all_teams) | (StratGame.home_team << all_teams))
|
||||
# all_dec = all_dec.where(Decision.game << all_games)
|
||||
if team_id is not None:
|
||||
all_players = Player.select().where(Player.team_id << team_id)
|
||||
all_dec = all_dec.where(Decision.pitcher << all_players)
|
||||
|
||||
@ -126,7 +126,7 @@ async def get_plays(
|
||||
defender_id: list = Query(default=None), runner_id: list = Query(default=None),
|
||||
offense_team_id: list = Query(default=None), defense_team_id: list = Query(default=None),
|
||||
hit: Optional[int] = None, double: Optional[int] = None, triple: Optional[int] = None,
|
||||
homerun: Optional[int] = None, play_num: list = Query(default=None),
|
||||
homerun: Optional[int] = None, play_num: list = Query(default=None), error: list = Query(default=None),
|
||||
sb: Optional[int] = None, cs: Optional[int] = None, manager_id: list = Query(default=None),
|
||||
run: Optional[int] = None, e_run: Optional[int] = None, rbi: list = Query(default=None),
|
||||
outs: list = Query(default=None), wild_pitch: Optional[int] = None, is_final_out: Optional[bool] = None,
|
||||
@ -208,6 +208,8 @@ async def get_plays(
|
||||
all_plays = all_plays.where(StratPlay.rbi << rbi)
|
||||
if outs is not None:
|
||||
all_plays = all_plays.where(StratPlay.outs << outs)
|
||||
if error is not None:
|
||||
all_plays = all_plays.where(StratPlay.error << error)
|
||||
if manager_id is not None:
|
||||
all_games = StratGame.select().where(
|
||||
(StratGame.away_manager_id << manager_id) | (StratGame.home_manager_id << manager_id)
|
||||
@ -265,7 +267,7 @@ async def get_batting_totals(
|
||||
group_by: Literal['team', 'player', 'playerteam', 'playergame', 'teamgame', 'league'] = 'player',
|
||||
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),
|
||||
sort: Optional[str] = None, limit: Optional[int] = None, short_output: Optional[bool] = False,
|
||||
sort: Optional[str] = None, limit: Optional[int] = 200, short_output: Optional[bool] = False,
|
||||
page_num: Optional[int] = 1):
|
||||
season_games = StratGame.select()
|
||||
if season is not None:
|
||||
@ -514,7 +516,7 @@ async def get_pitching_totals(
|
||||
group_by: Literal['team', 'player', 'playerteam', 'playergame', 'teamgame', 'league'] = 'player',
|
||||
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),
|
||||
sort: Optional[str] = None, limit: Optional[int] = None, short_output: Optional[bool] = False,
|
||||
sort: Optional[str] = None, limit: Optional[int] = 200, short_output: Optional[bool] = False,
|
||||
csv: Optional[bool] = False, page_num: Optional[int] = 1):
|
||||
season_games = StratGame.select()
|
||||
if season is not None:
|
||||
@ -739,7 +741,7 @@ async def get_fielding_totals(
|
||||
group_by: Literal['team', 'player', 'playerteam', 'playerposition', 'teamposition', 'playerpositiongame',
|
||||
'playergame'] = 'player',
|
||||
min_ch: Optional[int] = 1, team_id: list = Query(default=None), manager_id: list = Query(default=None),
|
||||
sort: Optional[str] = None, limit: Optional[int] = None, short_output: Optional[bool] = False,
|
||||
sort: Optional[str] = None, limit: Optional[int] = 200, short_output: Optional[bool] = False,
|
||||
page_num: Optional[int] = 1):
|
||||
season_games = StratGame.select()
|
||||
if season is not None:
|
||||
|
||||
Loading…
Reference in New Issue
Block a user