Example #1
0
 def test_get_games(self):
     self.assertEqual([], list(db.get_games()))
     db.import_games(Games([
         Game('1A', 'Game 1A', 'Author 1A', 'System 1A', 'Blurb 1A', 4, 6),
         Game('1B', 'Game 1B', 'Author 1B', 'System 1B', 'Blurb 1B', 4, 6),
     ]))
     games = db.get_games()
     self.assertTrue(isinstance(games, Games))
     self.assertEqual(list(games), [
         Game('1A', 'Game 1A', 'Author 1A', 'System 1A', 'Blurb 1A', 4, 6),
         Game('1B', 'Game 1B', 'Author 1B', 'System 1B', 'Blurb 1B', 4, 6),
     ])
Example #2
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'))
Example #3
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'))
Example #4
0
def players():
    slots = sorted(db.get_games().slots)
    players = db.get_players()
    player_only_slots = set(
        s for p in players for s in p.slots.keys() if s not in slots)
    if player_only_slots:
        flash("Warning: Players are registered for unknown slots: %s" % (
            ', '.join(sorted(player_only_slots)),), 'error')
        slots = sorted(slots + list(player_only_slots))
    return render_template('players.html', slots=slots, players=players)
Example #5
0
def games_csv():
    games_csv = StringIO()
    db.get_games().to_csv(games_csv)
    resp = make_response(games_csv.getvalue())
    resp.headers['Content-Type'] = 'text/csv'
    return resp
Example #6
0
def games():
    games = sorted(db.get_games(), key=lambda g: g.slot)
    return render_template('games.html', games=games)
Example #7
0
 def assert_db_games(self, expected):
     with self.db_context():
         self.assertEqual(expected, list(db.get_games()))