Update stratplay.py
Add teamposition grouping
This commit is contained in:
parent
08e54e10a1
commit
b259f8b693
@ -529,7 +529,7 @@ async def get_fielding_totals(
|
||||
season: list = Query(default=None), week: list = Query(default=None),
|
||||
s_type: Literal['regular', 'post', 'total', None] = None, position: list = Query(default=None),
|
||||
player_id: list = Query(default=None),
|
||||
group_by: Literal['team', 'player', 'playerteam', 'playerposition'] = 'player',
|
||||
group_by: Literal['team', 'player', 'playerteam', 'playerposition', 'teamposition'] = '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):
|
||||
season_games = StratGame.select()
|
||||
@ -582,6 +582,9 @@ async def get_fielding_totals(
|
||||
elif group_by == 'playerposition':
|
||||
def_plays = def_plays.group_by(StratPlay.defender, StratPlay.check_pos)
|
||||
cat_plays = cat_plays.group_by(StratPlay.catcher)
|
||||
elif group_by == 'teamposition':
|
||||
def_plays = def_plays.group_by(StratPlay.defender_team, StratPlay.check_pos)
|
||||
cat_plays = cat_plays.group_by(StratPlay.catcher_team)
|
||||
if sort is not None:
|
||||
if sort == 'player':
|
||||
def_plays = def_plays.order_by(StratPlay.defender)
|
||||
@ -620,11 +623,16 @@ async def get_fielding_totals(
|
||||
sum_cs = 0
|
||||
sum_wpa = 0
|
||||
sum_pb = 0
|
||||
|
||||
this_pos = 'TOT'
|
||||
if group_by == 'playerposition':
|
||||
if group_by in ['playerposition', 'teamposition']:
|
||||
this_pos = x.check_pos
|
||||
this_player = x.defender_id if short_output else model_to_dict(x.defender, recurse=False)
|
||||
if group_by == 'teamposition':
|
||||
this_player = 'TOT'
|
||||
|
||||
return_stats['stats'].append({
|
||||
'player': x.defender_id if short_output else model_to_dict(x.defender, recurse=False),
|
||||
'player': this_player,
|
||||
'team': x.defender_team_id if short_output else model_to_dict(x.defender_team, recurse=False),
|
||||
'pos': this_pos,
|
||||
'x-ch': x.sum_chances,
|
||||
|
||||
Loading…
Reference in New Issue
Block a user