def from_json(): maps = list() for i in range(len(maps_json)): maps_name = string.capwords(maps_json[i]['name']['en_US']) icon_url = maps_json[i]['icon'] if maps_name.upper() not in filtered_maps: maps.append(Map(maps_name, icon_url)) return ListUtils.remove_duplicates(maps)
async def generate_teams_command(self, ctx): self.client.global_variables.teams = list() self.client.global_variables.spectators = list() teams = self.client.global_variables.teams teams.append(list()) teams.append(list()) bench = self.client.global_variables.bench log.info("Generating teams...") voice_channel = self.client.get_channel( Config.COMMUNITY_GAMES_VOICE_CHANNEL_ID) members = voice_channel.members # members = TestUtils.generate_players_list(14) # spectators = TestUtils.generate_players_list(3, UserUtils.IDLE) # members.extend(spectators) self.client.global_variables.spectators = UserUtils.filter_spectators( members) spectators = self.client.global_variables.spectators log.info("Spectator players:%s", UserUtils.print_players(spectators)) log.debug("Removing spectators: %s from player pool: %s", UserUtils.print_players(spectators), UserUtils.print_players(members)) UserUtils.remove_players_from_list(spectators, members) log.debug("Player pool after removing spectators: %s", UserUtils.print_players(members)) log.debug("Removing spectators: %s from player bench: %s", UserUtils.print_players(spectators), UserUtils.print_players(bench)) UserUtils.remove_players_from_list(spectators, bench) log.debug("Bench pool after removing spectators: %s", UserUtils.print_players(bench)) num_of_players = len(members) await ctx.send(embed=( UserUtils.generate_player_list_embed(members, voice_channel.name))) if spectators: await ctx.send(embed=UserUtils.generate_player_list_embed( spectators, "Spectators")) log.info("Current number of players: " + str(num_of_players)) if num_of_players < 12: error_msg = self.get_not_enough_players_msg(num_of_players) log.error(error_msg) await ctx.send(ctx.author.mention + error_msg) return UserUtils.remove_players_from_list(bench, members) log.info("Adding previously benched players to teams:%s", UserUtils.print_players(bench)) self.generate_teams(bench) log.info("Adding players from players pool to teams:%s", UserUtils.print_players(members)) self.generate_teams(members) log.info("Adding unselected players to bench:%s", UserUtils.print_players(members)) bench.extend(members) bench = ListUtils.remove_duplicates(bench) members.clear() team0 = teams[0] team1 = teams[1] log.info("Teams generated are: " "\n Team 1: %s " "\n Team 2: %s", UserUtils.print_players(team0), UserUtils.print_players(team1)) await ctx.send(embed=self.generate_team_embed_message(1, team0)) await ctx.send(embed=self.generate_team_embed_message(2, team1)) await ctx.send( embed=UserUtils.generate_player_list_embed(bench, "Bench"))