def get_or_create_game(headers: dict, white: UUID, black: UUID, raw: str) -> Game: chess_game = Game.query.filter_by(raw=raw).one_or_none() if chess_game: return chess_game chess_game = Game.standard(**headers, white=white, black=black, raw=raw) if not chess_game.store(): logging.error("Couldn't store chess game.") return chess_game