Example #1
0
    def update_warnings(self):
        self.warnings = []
        self.info = []
        if self.gm is None:
            self.warnings.append('No gm.')
        elif self.gm.slots.get(self.slot, None) not in 'XG':
            self.warnings.append('%s not registered as a GM.' % (
                player_name(self.gm)))

        if len(self.players) > self.game.max_players:
            num = len(self.players) - self.game.max_players
            self.warnings.append('%s player%s too many.' % (
                num, 's' if num > 1 else ''))
        elif len(self.players) < self.game.min_players:
            num = self.game.min_players - len(self.players)
            self.warnings.append('%s player%s too few.' % (
                num, 's' if num > 1 else ''))

        for player in self.players:
            if player.slots.get(self.slot, None) not in 'XP':
                self.warnings.append('%s not registered as a player.' % (
                    player_name(player)))

        if self.game.min_players <= len(self.players) < self.game.max_players:
            num = self.game.max_players - len(self.players)
            self.info.append('%s slot%s available.' % (
                num, 's' if num > 1 else ''))
Example #2
0
 def to_list_csv(self, csv_file):
     writer = csv.writer(csv_file)
     for slot, tables in sorted(self.game_tables.items()):
         for num, game_table in enumerate(tables):
             writer.writerow(['Table %s (%s: %s)' % (
                 num + 1, slot, game_table.game.name)])
             writer.writerow(['GM: %s' % (player_name(game_table.gm),)])
             for player in game_table.players:
                 writer.writerow([player_name(player)])
             writer.writerow([])
Example #3
0
 def __str__(self):
     return '<Table %s: %s\n%s\n>' % (
         self.slot, player_name(self.gm), '\n'.join([
             '  %s' % player_name(player) for player in self.players]))
Example #4
0
 def test_player_name(self):
     player1 = Player("Gary Gygax", "TSR", {"1A": "G"})
     player2 = Player("Gary Gygax", None, {"1A": "G"})
     self.assertEqual("Gary Gygax (TSR)", player_name(player1))
     self.assertEqual("Gary Gygax", player_name(player2))
     self.assertEqual("(None)", player_name(None))