示例#1
0
def get_fields():
    """return fields of two plaing users
    """
    # return result
    if request.method == 'POST':
        if request.form['id_game'].encode('utf8'):
            kwargs = { 'id_game': request.form['id_game'].encode('utf8')}
            result = return_data_field(**kwargs)
            if result: 
                return result
            game_status = get_game_status(request.form['id_game'].encode('utf8'))
            if game_status == 3 or game_status == 1:
                return jsonify(result="1",
                               game_status=game_status)
            return jsonify(result="0")
        else:
            if request.cookies.has_key('session_id'):
                cookie_session = request.cookies.get('session_id')
                user = get_user_by_session(cookie_session)
                kwargs = { 'id_game': str(user.game.id)}
                result = return_data_field(str(user.id), **kwargs )
                if result:
                    return result
                game_status = get_game_status(kwargs['id_game'])
                if game_status == 3 or game_status == 1:
                    return jsonify(result="1",
                                   game_status=game_status)
                return jsonify(result="0")
            return jsonify(result="0")
        return jsonify(result="0")
示例#2
0
def update_data_main_page():
    """return json with information about:

    - users who wait second player
    - games which does now

    the structure of dictionary is:
    { 'users':{ 'id1':'username1',
                'id2':'username2'},

      'games': { 'id':[user1, user2],
                 'id':[user1, user2]}}
    """
    if request.method == 'POST':
        current_user = "******"
        if request.cookies.has_key('session_id'):
            cookie_session = request.cookies.get('session_id')
            update_user(**{ 'session_id': cookie_session, 'time': True })
            user_status = get_user_status(cookie_session)
            if user_status == 1:
                return jsonify(user_status=user_status)
            if user_status == 0:
                user = get_user_by_session(cookie_session)
                if user:
                    current_user = user.user_name
        users = get_wait_users()
        list_username = {}
        for user in users:
            list_username[str(user.id)] = user.user_name
        games = get_begin_games()
        user_server = get_user_id(cookie_session)
        return jsonify(users=list_username, 
                       games=games, 
                       current_user=current_user, 
                       user_server=user_server)
示例#3
0
def get_names_players():
    """get names user and his opponent
    """
    if request.method == 'POST':
        if request.cookies.has_key('session_id'):
            cookie_session = request.cookies.get('session_id')
            username = get_user_by_session(cookie_session)
            opponent = get_opponent(cookie_session)
            return jsonify(username=username.user_name,
                           opponent=opponent.user_name)
示例#4
0
def get_names_players():
    """get names of user and of his opponent
    """
    if request.method == 'POST':
        if request.cookies.has_key('session_id'):
            cookie_session = request.cookies.get('session_id')
            username = get_user_by_session(cookie_session)
            opponent = get_opponent(cookie_session)
            if username and opponent:
                return jsonify(username=username.user_name,
                               opponent=opponent.user_name)
            else:
                return jsonify(username="******",
                               opponent="Нет данных")
示例#5
0
def move_game():
    """page for watch game
    """
    current_page = u'Ход игры'
    if request.cookies.has_key('session_id'):
        cookie_session = request.cookies['session_id'].encode('utf8')
        if get_user_by_session(cookie_session) and get_game_by_session(cookie_session):
            game = get_game_by_session(cookie_session)
            response = make_response(render_template('move_game.html', 
                                                     current_page=current_page,
                                                     id_game=str(game.id)))
            return response
        else:
            return redirect('/')
    else:
        return redirect('/')
示例#6
0
def add_new_user():
    """registration user in database for game

    jsonify: 
     - `username` : username from form 
     - `user_id` : set user.id for uniq
     - `new_user`: `1` - this new user
                   `0` - this old user, dont hand
    """
    if request.method == 'POST':
        username = request.form.values()[0].encode('utf8')
        # check session
        if request.cookies.has_key('session_id'):
            cookie_session = request.cookies.get('session_id')
        else:
            cookie_session = randstring()
        user = get_user_by_session(cookie_session)
        # if user exist
        if user:
            print 'test'
            update_user(**{'session_id': cookie_session, 'time': True })
            # if already have a server
            if user.status == 0:
                return jsonify(new_user=0)
            # if game was finished
            if user.status == 5 or user.status == 6 or user.status == 7:
                field = add_new_field()
                game = add_new_game(field)
                if add_user_in_db(cookie_session, username, game, field):
                    return jsonify(username=username,
                                   user_id=get_user_id(cookie_session),
                                   user_status=0, 
                                   new_user=1)
            # if in game play now
            if user.status == 3 or user.status == 4:
                return jsonify(new_user=2)
        else:
            field = add_new_field()
            game = add_new_game(field)
            if add_user_in_db(cookie_session, username, game, field):
                return jsonify(username=username,
                               user_id=get_user_id(cookie_session),
                               user_status=0, 
                               new_user=1)
示例#7
0
def add_second_user():
    """registration second user for play
    """
    if request.method == 'POST': 
        wait_user = request.form['user_id'].encode('utf8')
        username = request.form['username'].encode('utf8')
        if request.cookies.has_key('session_id'):
            cookie_session = request.cookies.get('session_id')
        # TODO: this is bottleneck
        # add exception here!
        current_user = get_user_by_session(cookie_session)
        if current_user and str(current_user.id) == wait_user:
            return jsonify(result="0")
        field = add_new_field()
        game = add_field_in_game(wait_user, field)
        add_user = add_user_in_db(cookie_session, username, game, field, status=1, status_first=2)
        session_wait_user = get_session_by_user_id(wait_user)
        new_data_user = { 'session_id' : session_wait_user,
                          'status': 1 }
        update_status = update_user(**new_data_user)
        if add_user and update_status:
            return jsonify(result="1")