Param updates to /plays
This commit is contained in:
parent
342eb50362
commit
1168d7abaa
@ -4,7 +4,7 @@ import copy
|
|||||||
import logging
|
import logging
|
||||||
import pydantic
|
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
|
from ..dependencies import oauth2_scheme, valid_token, LOG_DATA
|
||||||
|
|
||||||
logging.basicConfig(
|
logging.basicConfig(
|
||||||
@ -62,6 +62,12 @@ async def get_decisions(
|
|||||||
all_dec = all_dec.where(Decision.game_id << game_id)
|
all_dec = all_dec.where(Decision.game_id << game_id)
|
||||||
if player_id is not None:
|
if player_id is not None:
|
||||||
all_dec = all_dec.where(Decision.pitcher << player_id)
|
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:
|
if team_id is not None:
|
||||||
all_players = Player.select().where(Player.team_id << team_id)
|
all_players = Player.select().where(Player.team_id << team_id)
|
||||||
all_dec = all_dec.where(Decision.pitcher << all_players)
|
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),
|
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),
|
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,
|
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),
|
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),
|
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,
|
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)
|
all_plays = all_plays.where(StratPlay.rbi << rbi)
|
||||||
if outs is not None:
|
if outs is not None:
|
||||||
all_plays = all_plays.where(StratPlay.outs << outs)
|
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:
|
if manager_id is not None:
|
||||||
all_games = StratGame.select().where(
|
all_games = StratGame.select().where(
|
||||||
(StratGame.away_manager_id << manager_id) | (StratGame.home_manager_id << manager_id)
|
(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',
|
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),
|
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),
|
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):
|
page_num: Optional[int] = 1):
|
||||||
season_games = StratGame.select()
|
season_games = StratGame.select()
|
||||||
if season is not None:
|
if season is not None:
|
||||||
@ -514,7 +516,7 @@ async def get_pitching_totals(
|
|||||||
group_by: Literal['team', 'player', 'playerteam', 'playergame', 'teamgame', 'league'] = 'player',
|
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),
|
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),
|
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):
|
csv: Optional[bool] = False, page_num: Optional[int] = 1):
|
||||||
season_games = StratGame.select()
|
season_games = StratGame.select()
|
||||||
if season is not None:
|
if season is not None:
|
||||||
@ -739,7 +741,7 @@ async def get_fielding_totals(
|
|||||||
group_by: Literal['team', 'player', 'playerteam', 'playerposition', 'teamposition', 'playerpositiongame',
|
group_by: Literal['team', 'player', 'playerteam', 'playerposition', 'teamposition', 'playerpositiongame',
|
||||||
'playergame'] = 'player',
|
'playergame'] = 'player',
|
||||||
min_ch: Optional[int] = 1, team_id: list = Query(default=None), manager_id: list = Query(default=None),
|
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):
|
page_num: Optional[int] = 1):
|
||||||
season_games = StratGame.select()
|
season_games = StratGame.select()
|
||||||
if season is not None:
|
if season is not None:
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user