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")
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)
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)
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="Нет данных")
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('/')
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)
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")