def validate_round_request(): if not flask.request.json: raise Exception("Invalid request: no JSON body.") game_id = flask.request.json.get('game_id') if not game_id: raise Exception("Invalid request: No game_id value") user = flask.request.json.get('user') if not user: raise Exception("Invalid request: No user value") db_user = game_service.find_player(user) if not db_user: raise Exception( "Invalid request: No user with name {}".format(user)) roll = flask.request.json.get('roll') if not roll: raise Exception("Invalid request: No roll value") db_roll = game_service.find_roll(roll) if not db_roll: raise Exception( "Invalid request: No roll with name {}".format(roll)) is_over = game_service.is_game_over(game_id) if is_over: raise Exception("This game is already over.") return db_roll, db_user, game_id
def build_starter_data(): roll_names = game_decider.all_roll_names() game_service.init_rolls(roll_names) computer = game_service.find_player('computer') if not computer: game_service.create_player('computer')
def play_round(): try: db_roll, db_user, game_id = validate_round_request() computer_player = game_service.find_player('computer') computer_roll = random.choice(game_service.all_rolls()) game = GameRound(game_id, db_user, computer_player, db_roll, computer_roll) game.play() return flask.jsonify({ 'roll': db_roll.to_json(), 'computer_roll': computer_roll.to_json(), 'player': db_user.to_json(), 'opponent': computer_player.to_json(), 'round_outcome': str(game.decision_p1_to_p2), 'is_final_round': game.is_over, 'round_number': game.round }) except Exception as x: # raise x flask.abort(flask.Response(response='Invalid request: {}'.format(x), status=400))
def play_round(): try: db_roll, db_user, game_id = validate_round_request() computer_player = game_service.find_player('computer') computer_roll = random.choice(game_service.all_rolls()) game = GameRound(game_id, db_user, computer_player, db_roll, computer_roll) game.play() return jsonify({ 'roll': db_roll.to_json(), 'computer_roll': computer_roll.to_json(), 'player': db_user.to_json(), 'opponent': computer_player.to_json(), 'round_outcome': str(game.decision_p1_to_p2), 'is_final_round': game.is_over, 'round_number': game.round }) except Exception as x: # raise x abort(make_response(jsonify({'Invalid request': '{}'.format(x)}), 400))
def validate_round_request(): if not flask.request.json: raise Exception("Invalid request: no JSON body.") game_id = flask.request.json.get('game_id') if not game_id: raise Exception("Invalid request: No game_id value") the_number = flask.request.json.get('the_number') user = flask.request.json.get('user') if not user: raise Exception("Invalid request: No user value") db_user = game_service.find_player(user) if not db_user: raise Exception( "Invalid request: No user with name {}".format(user)) move = flask.request.json.get('move') if not move: raise Exception("Invalid request: No roll value") db_move = move is_over = game_service.is_game_over(game_id) if is_over: raise Exception("This game is already over.") return db_move, db_user, game_id, the_number
def validate_round_request(): if not flask.request.json: raise Exception("Invalid request: no JSON body.") game_id = flask.request.json.get('game_id') if not game_id: raise Exception("Invalid request: No game_id value") user = flask.request.json.get('user') if not user: raise Exception("Invalid request: No user value") db_user = game_service.find_player(user) if not db_user: raise Exception("Invalid request: No user with name {}".format(user)) roll = flask.request.json.get('roll') if not roll: raise Exception("Invalid request: No roll value") db_roll = game_service.find_roll(roll) if not db_roll: raise Exception("Invalid request: No roll with name {}".format(roll)) is_over = game_service.is_game_over(game_id) if is_over: raise Exception("This game is already over.") return db_roll, db_user, game_id
def find_user(user: str): player = game_service.find_player(user) if not player: flask.abort(404) return flask.jsonify(player.to_json())
def find_user(user): u = game_service.find_player(user) if not u: abort(make_response(jsonify({"ERROR":"This user was not found"}), 404)) return jsonify(u.to_json())