Created parameter for winrate_over_time to filter on specific boardgame
This commit is contained in:
parent
e784a16e75
commit
4531e54e4a
2 changed files with 5 additions and 3 deletions
|
|
@ -251,8 +251,8 @@ def get_winrate(player_name: str | None = None, session: Session = Depends(get_s
|
||||||
return statistic_to_return
|
return statistic_to_return
|
||||||
|
|
||||||
@app.get('/statistics/winrate_over_time', response_model=Union[statistic_classes.TimeLineStatistic, Dict[str,statistic_classes.TimeLineStatistic]])
|
@app.get('/statistics/winrate_over_time', response_model=Union[statistic_classes.TimeLineStatistic, Dict[str,statistic_classes.TimeLineStatistic]])
|
||||||
def get_winrate_over_time(player_name: str | None = None, day_step: int = 1, session: Session=Depends(get_session)):
|
def get_winrate_over_time(player_name: str | None = None, day_step: int = 1, boardgame_id: int | None = None, session: Session=Depends(get_session)):
|
||||||
statistic_to_return = statistic_creator.get_winrate_over_time(session, player_name, day_step)
|
statistic_to_return = statistic_creator.get_winrate_over_time(session, player_name, day_step, boardgame_id)
|
||||||
|
|
||||||
return statistic_to_return
|
return statistic_to_return
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -374,7 +374,7 @@ def get_winrate(session: Session, player_name: str | None = None):
|
||||||
return statistic_to_return
|
return statistic_to_return
|
||||||
|
|
||||||
|
|
||||||
def get_winrate_over_time(session: Session, player_name: str | None = None, day_step = 1) -> Dict[str,statistic_classes.TimeLineStatistic]:
|
def get_winrate_over_time(session: Session, player_name: str | None = None, day_step = 1, boardgame_id: int | None = None) -> Dict[str,statistic_classes.TimeLineStatistic]:
|
||||||
|
|
||||||
statistic_name = 'Player winrate over time'
|
statistic_name = 'Player winrate over time'
|
||||||
|
|
||||||
|
|
@ -409,6 +409,8 @@ def get_winrate_over_time(session: Session, player_name: str | None = None, day_
|
||||||
all_playplayers = [playplayer for playplayer in wanted_player.playplayers]
|
all_playplayers = [playplayer for playplayer in wanted_player.playplayers]
|
||||||
all_playplayers.sort(key=lambda x: x.play.play_date)
|
all_playplayers.sort(key=lambda x: x.play.play_date)
|
||||||
|
|
||||||
|
all_playplayers = list(filter(lambda playplayer: boardgame_id == None or playplayer.play.boardgame.id == boardgame_id, all_playplayers))
|
||||||
|
|
||||||
timeline_dict = {}
|
timeline_dict = {}
|
||||||
|
|
||||||
for current_date in daterange(start_date, date.today(), day_step):
|
for current_date in daterange(start_date, date.today(), day_step):
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue