From 6c03eabfe30e3dd8c64b9983252109611e2fefea Mon Sep 17 00:00:00 2001 From: Cal Corum Date: Mon, 24 Jul 2023 23:04:26 -0500 Subject: [PATCH] Season 8 Draft Fixes --- app/db_engine.py | 2 +- app/routers_v3/draftpicks.py | 7 ++++++- app/routers_v3/standings.py | 6 +++--- 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/app/db_engine.py b/app/db_engine.py index a331277..c7d50de 100644 --- a/app/db_engine.py +++ b/app/db_engine.py @@ -246,7 +246,7 @@ class Team(BaseModel): return [self.gmid] def get_this_week(self): - active_team = Player.select_season(self.season).where(Player.team == self) + active_team = Player.select_season(self.season).where(Player.team == self).order_by(Player.wara) active_roster = {'C': 0, '1B': 0, '2B': 0, '3B': 0, 'SS': 0, 'LF': 0, 'CF': 0, 'RF': 0, 'DH': 0, 'SP': 0, 'RP': 0, 'CP': 0, 'WARa': 0, 'players': []} diff --git a/app/routers_v3/draftpicks.py b/app/routers_v3/draftpicks.py index 3d8d93e..8cb4a10 100644 --- a/app/routers_v3/draftpicks.py +++ b/app/routers_v3/draftpicks.py @@ -31,7 +31,8 @@ async def get_picks( owner_team_id: list = Query(default=None), orig_team_id: list = Query(default=None), pick_round_start: Optional[int] = None, pick_round_end: Optional[int] = None, traded: Optional[bool] = None, overall: Optional[int] = None, overall_start: Optional[int] = None, overall_end: Optional[int] = None, - short_output: Optional[bool] = True, sort: Optional[str] = None, limit: Optional[int] = None): + short_output: Optional[bool] = False, sort: Optional[str] = None, limit: Optional[int] = None, + player_id: list = Query(default=None), player_taken: Optional[bool] = None): all_picks = DraftPick.select().where(DraftPick.season == season) if owner_team_abbrev is not None: @@ -63,6 +64,8 @@ async def get_picks( if pick_round_start is not None and pick_round_end is not None and pick_round_end < pick_round_start: raise HTTPException(status_code=400, detail=f'pick_round_end must be greater than or equal to pick_round_start') + if player_id is not None: + all_picks = all_picks.where(DraftPick.player_id << player_id) if pick_round_start is not None: all_picks = all_picks.where(DraftPick.round >= pick_round_start) if pick_round_end is not None: @@ -75,6 +78,8 @@ async def get_picks( all_picks = all_picks.where(DraftPick.overall >= overall_start) if overall_end is not None: all_picks = all_picks.where(DraftPick.overall <= overall_end) + if player_taken is not None: + all_picks = all_picks.where(DraftPick.player.is_null(not player_taken)) if limit is not None: all_picks = all_picks.limit(limit) diff --git a/app/routers_v3/standings.py b/app/routers_v3/standings.py index f1ff85f..c671f6d 100644 --- a/app/routers_v3/standings.py +++ b/app/routers_v3/standings.py @@ -18,9 +18,9 @@ async def get_standings( division_abbrev: Optional[str] = None, short_output: Optional[bool] = False): standings = Standings.select_season(season) - if standings.count() == 0: - db.close() - raise HTTPException(status_code=404, detail=f'No output for season {season}') + # if standings.count() == 0: + # db.close() + # raise HTTPException(status_code=404, detail=f'No output for season {season}') if team_abbrev is not None: t_query = Team.select().where(fn.Lower(Team.abbrev) << [x.lower() for x in team_abbrev])