def get_pitch_stats_by_team_for_player(request: Request, response: Response, mlb_id: str, app: Vigorish = Depends(get_vig_app)): pitch_stats = app.scraped_data.get_pitch_stats_by_team_for_player(mlb_id) if not pitch_stats: raise HTTPException(status_code=int(HTTPStatus.NOT_FOUND), detail="No results found") player_pitch_stats = [asdict(stats) for stats in pitch_stats] return convert_team_stats(app.db_session, player_pitch_stats)
def get_bat_stats_by_player_for_team(request: Request, response: Response, team_params: TeamParameters = Depends(), app: Vigorish = Depends(get_vig_app)): bat_stats = app.scraped_data.get_bat_stats_by_player_for_team( team_params.team_id, team_params.year) if not bat_stats: raise HTTPException(status_code=int(HTTPStatus.NOT_FOUND), detail="No results found") player_bat_stats = [s.as_dict() for s in bat_stats] return convert_team_stats(app.db_session, player_bat_stats)
def get_bat_stats_for_lineup_spot_by_player_for_team( request: Request, response: Response, bat_order: Optional[List[int]] = Query(..., ge=0, le=9), team_params: TeamParameters = Depends(), app: Vigorish = Depends(get_vig_app), ): bat_stats = app.scraped_data.get_bat_stats_for_lineup_spot_by_player_for_team( bat_order, team_params.team_id, team_params.year) if not bat_stats: raise HTTPException(status_code=int(HTTPStatus.NOT_FOUND), detail="No results found") player_bat_stats = [s.as_dict() for s in bat_stats] return convert_team_stats(app.db_session, player_bat_stats)
def get_bat_stats_for_subs_for_season_for_all_teams( request: Request, response: Response, season: MLBSeason = Depends(), app: Vigorish = Depends(get_vig_app)): bat_stats_dict = app.scraped_data.get_bat_stats_for_subs_for_season_for_all_teams( season.year) if not bat_stats_dict: raise HTTPException(status_code=int(HTTPStatus.NOT_FOUND), detail="No results found") all_teams = { team_id: bat_stats.as_dict() for team_id, bat_stats in bat_stats_dict.items() } return convert_team_stats(app.db_session, all_teams)
def get_bat_stats_for_lineup_spot_for_season_for_all_teams( request: Request, response: Response, bat_order: Optional[List[int]] = Query(..., ge=0, le=9), season: MLBSeason = Depends(), app: Vigorish = Depends(get_vig_app), ): bat_stats_dict = app.scraped_data.get_bat_stats_for_lineup_spot_for_season_for_all_teams( bat_order, season.year) if not bat_stats_dict: raise HTTPException(status_code=int(HTTPStatus.NOT_FOUND), detail="No results found") all_teams = { team_id: bat_stats.as_dict() for team_id, bat_stats in bat_stats_dict.items() } return convert_team_stats(app.db_session, all_teams)