def game_generate_tables(slot): game = db.get_game(slot) players = db.get_players_for_game(slot) generator = GameTablesGenerator(game, players) game_tables = generator.generate_lowest_penalty_tables() db.set_game_tables(slot, game_tables) flash("Tables generated.") return redirect(url_for('game', slot=slot))
def game_table_list_csv(slot): try: game = db.get_game(slot) except db.NotFound: abort(404) players = db.get_players_for_game(slot) game_tables = GameTables([game], players, {slot: db.get_game_tables(slot)}) table_list_csv = StringIO() game_tables.to_list_csv(table_list_csv) resp = make_response(table_list_csv.getvalue()) resp.headers['Content-Type'] = 'text/csv' return resp
def test_get_players_for_game(self): db.import_players(Players([ Player('Gary Gygax', 'TSR', {'1A': 'G'}), Player('Dave Arneson', None, {'1A': 'P', '2A': 'X'}), Player('Jane Bloggs', None, {'2A': 'P'}), ])) players = db.get_players_for_game('1A') self.assertTrue(isinstance(players, Players)) self.assertEqual(list(players), [ Player('Gary Gygax', 'TSR', {'1A': 'G'}), Player('Dave Arneson', None, {'1A': 'P'}), ])