Exemplo n.º 1
0
 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)
Exemplo n.º 2
0
  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')
Exemplo n.º 3
0
 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))