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), ])
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 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)
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
def games(): games = sorted(db.get_games(), key=lambda g: g.slot) return render_template('games.html', games=games)
def assert_db_games(self, expected): with self.db_context(): self.assertEqual(expected, list(db.get_games()))