Exemplo n.º 1
0
 def create_from_game(game: Game, full=True, groups=False, session=None) -> 'Replay':
     group_map = None
     if groups and session is not None:
         players = session.query(Player).filter(Player.platformid.in_(game.players)).all()
         group_map = {player.platformid: player.groups for player in players}
     return Replay(
         id_=game.hash,
         name=game.name,
         date=game.match_date.isoformat(),
         map=game.map,
         game_mode=get_playlist(game.playlist, game.teamsize),
         game_score=GameScore.create_from_game(game),
         players=[
             ReplayPlayer.create_from_player_game(player_game, full=full)
             for player_game in sort_player_games_by_team_then_id(
                 cast(List[PlayerGame], game.playergames))
         ],
         tags=[
             JsonTag.create_from_dbtag(tag)
             for tag in game.tags if tag.owner == get_current_user_id()
         ],
         visibility=game.visibility,
         ranks=game.ranks,
         mmrs=game.mmrs,
         group_map=group_map
     )
Exemplo n.º 2
0
 def create_from_game(game: Game) -> 'Replay':
     return Replay(id_=game.hash,
                   name=game.name,
                   date=game.match_date.isoformat(),
                   map=game.map,
                   game_mode=get_playlist(game.playlist, game.teamsize),
                   game_score=GameScore.create_from_game(game),
                   players=[
                       ReplayPlayer.create_from_player_game(player_game)
                       for player_game in sort_player_games_by_team_then_id(
                           cast(List[PlayerGame], game.playergames))
                   ],
                   tags=[
                       JsonTag.create_from_dbtag(tag) for tag in game.tags
                       if tag.owner == get_current_user_id()
                   ],
                   visibility=game.visibility,
                   ranks=game.ranks,
                   mmrs=game.mmrs)