async def handle_team_preview(battle, ps_websocket_client): battle_copy = deepcopy(battle) battle_copy.user.active = Pokemon.get_dummy() battle_copy.opponent.active = Pokemon.get_dummy() best_move = await async_pick_move(battle_copy) size_of_team = len(battle.user.reserve) + 1 team_list_indexes = list(range(1, size_of_team)) choice_digit = int(best_move[0].split()[-1]) team_list_indexes.remove(choice_digit) message = ["/team {}{}|{}".format(choice_digit, "".join(str(x) for x in team_list_indexes), battle.rqid)] await ps_websocket_client.send_message(battle.battle_tag, message)
async def _handle_team_preview(battle: Battle, ps_websocket_client: PSWebsocketClient): battle_copy = deepcopy(battle) battle_copy.user.active = Pokemon.get_dummy() battle_copy.opponent.active = Pokemon.get_dummy() loop = asyncio.get_event_loop() with concurrent.futures.ThreadPoolExecutor() as pool: best_move = await loop.run_in_executor( pool, find_best_move, battle_copy ) formatted_message = await format_decision(battle, best_move) size_of_team = len(battle.user.reserve) + 1 team_list_indexes = list(range(1, size_of_team)) choice_digit = int(formatted_message[0].split()[-1]) team_list_indexes.remove(choice_digit) message = ["/team {}{}|{}".format(choice_digit, "".join(str(x) for x in team_list_indexes), battle.rqid)] battle.user.active = battle.user.reserve.pop(choice_digit - 1) await ps_websocket_client.send_message(battle.battle_tag, message)