def format_round_info(round_info): i, round_info = round_info if round_info != None: success, members = round_info if success: return 'Passed %s' % ' '.join(user.name for user in members) else: return 'Failed %s' % ' '.join(user.name for user in members) else: return 'Not played (%d users)' % rules.mission_size(len(self.users), i)
def choose_team(self, proposing_user, proposed_team): proposed_team = set(proposed_team) if proposing_user != self.users[self.leader]: proposing_user.send('You are not team leader.') return required_users = rules.mission_size(len(self.users), self.mission) if len(proposed_team) != required_users: proposing_user.send(('You must pick a team of %d users ' + '(received a team of %d)') % (required_users, len(proposed_team))) return possible_usernames = set([user.name for user in self.users]) if not proposed_team <= possible_usernames: proposing_user.send('Invalid usernames: %s' % ', '.join(proposed_team - possible_usernames)) return self.proposed_team = [] for user in self.users: if user.name in proposed_team: self.proposed_team.append(user) self.transition('vote_on_team')
def ask_for_team(self): leader_user = self.users[self.leader] leader_user.send(('Use the "choose" command to send %d ' + 'usernames (space-separated) for mission\n') % rules.mission_size(len(self.users), self.mission))