Пример #1
0
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'))
Пример #2
0
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'))
Пример #3
0
    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')