コード例 #1
0
ファイル: games.py プロジェクト: WalterCReel3/siege
def games_create():
    current_game = Game.current()
    if current_game:
        abort(403, 'Game %s is in progress' % current_game.id)

    new_game = Game()
    db.session.add(new_game)
    db.session.commit()

    response = jsonate(new_game.to_dict())
    response.status_code = 201
    response.headers['Location'] = url_for('games_get', game_id=new_game.id)
    return response
コード例 #2
0
ファイル: view_utils.py プロジェクト: WalterCReel3/siege
def get_game_or_abort(game_id):
    if game_id == 'current':
        game = Game.current()
    else:
        game = Game.query.get(game_id)
    if not game:
        abort(404, 'Game not found')
    return game
コード例 #3
0
ファイル: scoring.py プロジェクト: WalterCReel3/siege
def game():
    device_id = request.cookies.get('device_id')
    device = Device.query.get(device_id)
    if not device:
        abort(404, 'Device not found')
    game = Game.current()
    player = Player.current(device_id)
    response = make_response(render_template('scoring.html'))
    return response
コード例 #4
0
ファイル: scoring.py プロジェクト: WalterCReel3/siege
def game_info():
    if not request.cookies.get('device_id'):
        abort(404, 'Device not found')
    device_id = request.cookies.get('device_id')
    device = Device.query.get(device_id)
    if not device:
        abort(404, 'Device not found')
    game = Game.current()
    player = Player.current(device_id)
    ret = dict(game=game.to_dict(),
               player=player.to_dict(),
               device=device.to_dict())
    response = jsonate(ret)
    return response
コード例 #5
0
ファイル: join.py プロジェクト: WalterCReel3/siege
def game_join():
    device_id = request.cookies.get('device_id')
    device = Device.query.get(device_id)
    if not device:
        abort(403, 'No device found')

    player = Player.current(device.id)
    if player:
        return redirect('/game', code=302)

    current_game = Game.current()
    if not current_game:
        abort(404, 'No current game')

    game = get_game_manager()
    game.create_player(device)

    return redirect('/game', code=302)
コード例 #6
0
ファイル: games.py プロジェクト: WalterCReel3/siege
def game_current():
    game = Game.current()
    return jsonate(game.to_dict())