def tables_upload(): games = db.get_games() players = db.get_players() game_tables = GameTables.from_csv( games, players, request.files['tables.csv']) db.set_all_game_tables(game_tables) flash("Tables imported.") return redirect(url_for('tables'))
def tables_generate_tables(): players = db.get_players() games = db.get_games() generator = AllTablesGenerator(games, players) game_tables = generator.generate_lowest_penalty_tables() db.set_all_game_tables(game_tables) flash("Tables generated.") return redirect(url_for('tables'))
def test_set_all_game_tables(self): games = Games([ Game('1A', 'Game 1A', 'Author 1A', 'System 1A', 'Blurb 1A', 1, 2), Game('2A', 'Game 2A', 'Author 2A', 'System 2A', 'Blurb 2A', 1, 2), ]) players = Players([ Player('Gary Gygax', 'TSR', {'1A': 'G', '2A': 'G'}), Player('Dave Arneson', None, {'1A': 'P', '2A': 'P'}), ]) table1 = GameTable(games['1A'], list(players)[0], list(players)[1:]) table2 = GameTable(games['2A'], list(players)[0], list(players)[1:]) game_tables = GameTables( games, players, {'1A': [table1], '2A': [table2]}) self.assert_query([], 'SELECT slot, data FROM game_tables') db.set_all_game_tables(game_tables) self.assert_query([ ('1A', json.dumps(table1.table_data_dict())), ('2A', json.dumps(table2.table_data_dict())), ], 'SELECT slot, data FROM game_tables')