Season 9 Additions
This commit is contained in:
parent
025445bb99
commit
fae1439365
@ -1918,6 +1918,7 @@ class StratGame(BaseModel):
|
||||
home_score = IntegerField(null=True)
|
||||
away_manager = ForeignKeyField(Manager, null=True)
|
||||
home_manager = ForeignKeyField(Manager, null=True)
|
||||
scorecard_url = CharField(null=True)
|
||||
|
||||
def update_standings(self):
|
||||
away_stan = Standings.get_season(self.away_team)
|
||||
@ -2173,6 +2174,12 @@ class StratPlay(BaseModel):
|
||||
is_tied = BooleanField(default=False)
|
||||
is_new_inning = BooleanField(default=False)
|
||||
|
||||
# Season 9 addons
|
||||
hand_batting = CharField(null=True)
|
||||
hand_pitching = CharField(null=True)
|
||||
re24_primary = FloatField(null=True)
|
||||
re24_running = FloatField(null=True)
|
||||
|
||||
|
||||
class Decision(BaseModel):
|
||||
game = ForeignKeyField(StratGame)
|
||||
@ -2180,6 +2187,7 @@ class Decision(BaseModel):
|
||||
week = IntegerField()
|
||||
game_num = IntegerField()
|
||||
pitcher = ForeignKeyField(Player)
|
||||
team = ForeignKeyField(Team)
|
||||
win = IntegerField()
|
||||
loss = IntegerField()
|
||||
hold = IntegerField()
|
||||
|
||||
@ -25,6 +25,7 @@ class DecisionModel(pydantic.BaseModel):
|
||||
week: int
|
||||
game_num: int
|
||||
pitcher_id: int
|
||||
team_id: int
|
||||
win: int = 0
|
||||
loss: int = 0
|
||||
hold: int = 0
|
||||
@ -68,9 +69,12 @@ async def get_decisions(
|
||||
# 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)
|
||||
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)
|
||||
all_teams = Team.select().where(Team.id << team_id)
|
||||
all_dec = all_dec.where(Decision.team << all_teams)
|
||||
if s_type is not None:
|
||||
all_games = StratGame.select().where(StratGame.season_type == s_type)
|
||||
all_dec = all_dec.where(Decision.game << all_games)
|
||||
|
||||
@ -30,6 +30,7 @@ class GameModel(pydantic.BaseModel):
|
||||
home_score: Optional[int] = None
|
||||
away_manager_id: Optional[int] = None
|
||||
home_manager_id: Optional[int] = None
|
||||
scorecard_url: Optional[str] = None
|
||||
|
||||
|
||||
class GameList(pydantic.BaseModel):
|
||||
@ -122,7 +123,7 @@ async def get_one_game(game_id: int):
|
||||
async def patch_game(
|
||||
game_id: int, game_num: Optional[int] = None, away_score: Optional[int] = None,
|
||||
home_score: Optional[int] = None, away_manager_id: Optional[int] = None, home_manager_id: Optional[int] = None,
|
||||
token: str = Depends(oauth2_scheme)):
|
||||
token: str = Depends(oauth2_scheme), scorecard_url: Optional[str] = None):
|
||||
if not valid_token(token):
|
||||
logging.warning(f'patch_game - Bad Token: {token}')
|
||||
raise HTTPException(status_code=401, detail='Unauthorized')
|
||||
@ -142,6 +143,8 @@ async def patch_game(
|
||||
this_game.away_manager_id = away_manager_id
|
||||
if home_manager_id is not None:
|
||||
this_game.home_manager_id = home_manager_id
|
||||
if scorecard_url is not None:
|
||||
this_game.scorecard_url = scorecard_url
|
||||
|
||||
if this_game.save() == 1:
|
||||
g_result = model_to_dict(this_game)
|
||||
|
||||
@ -86,6 +86,11 @@ class PlayModel(BaseModel):
|
||||
is_tied: bool = False
|
||||
is_new_inning: bool = False
|
||||
|
||||
hand_batting: str = None
|
||||
hand_pitching: str = None
|
||||
re24_primary: float = None
|
||||
re24_running: float = None
|
||||
|
||||
@validator('on_first_final')
|
||||
def no_final_if_no_runner_one(cls, v, values):
|
||||
if values['on_first_id'] is None:
|
||||
@ -611,9 +616,11 @@ async def get_pitching_totals(
|
||||
if player_id is not None:
|
||||
all_players = Player.select().where(Player.id << player_id)
|
||||
pit_plays = pit_plays.where(StratPlay.pitcher << all_players)
|
||||
all_dec = all_dec.where(Decision.pitcher << all_players)
|
||||
if team_id is not None:
|
||||
all_teams = Team.select().where(Team.id << team_id)
|
||||
pit_plays = pit_plays.where(StratPlay.pitcher_team << all_teams)
|
||||
all_dec = all_dec.where(Decision.team << all_teams)
|
||||
|
||||
if obc is not None:
|
||||
pit_plays = pit_plays.where(StratPlay.on_base_code << obc)
|
||||
|
||||
@ -11,7 +11,10 @@ migrator = SqliteMigrator(db_engine.db)
|
||||
# pitcher_injury = IntegerField(null=True)
|
||||
# pos_1 = CharField(default='None')
|
||||
# pos_2 = CharField(null=True)
|
||||
# last_game = CharField(null=True)
|
||||
# hand_batting = CharField(null=True)
|
||||
# hand_pitching = CharField(null=True)
|
||||
# re24_primary = FloatField(null=True)
|
||||
# re24_running = FloatField(null=True)
|
||||
# last_game2 = CharField(null=True)
|
||||
# division = ForeignKeyField(db_engine.Division, field=db_engine.Division.id, null=True) # for division migration
|
||||
# manager = ForeignKeyField(db_engine.Manager, field=db_engine.Manager.id, null=True) # for manager table
|
||||
@ -20,6 +23,7 @@ migrator = SqliteMigrator(db_engine.db)
|
||||
# f_career = ForeignKeyField(db_engine.FieldingCareer, field=db_engine.FieldingCareer.id, null=True) # for careers
|
||||
away_manager = ForeignKeyField(db_engine.Manager, field=db_engine.Manager.id, null=True) # to add Manager to games
|
||||
home_manager = ForeignKeyField(db_engine.Manager, field=db_engine.Manager.id, null=True) # to add Manager to games
|
||||
team = ForeignKeyField(db_engine.Team, field=db_engine.Team.id, null=True) # to add Team to decisions
|
||||
|
||||
migrate(
|
||||
# migrator.add_column('team', 'division_id', division), # for division migration
|
||||
@ -38,6 +42,9 @@ migrate(
|
||||
# migrator.rename_table('story', 'stories_tbl'),
|
||||
# migrator.drop_index('team', 'team_abbrev'),
|
||||
# migrator.drop_index('player', 'player_name')
|
||||
# migrator.add_column('stratgame', 'away_manager_id', away_manager),
|
||||
migrator.add_column('stratgame', 'home_manager_id', home_manager)
|
||||
migrator.add_column('decision', 'team', team),
|
||||
# migrator.add_column('stratplay', 'hand_batting', hand_batting),
|
||||
# migrator.add_column('stratplay', 'hand_pitching', hand_pitching),
|
||||
# migrator.add_column('stratplay', 're24_primary', re24_primary),
|
||||
# migrator.add_column('stratplay', 're24_running', re24_running)
|
||||
)
|
||||
Loading…
Reference in New Issue
Block a user