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 reset_game(): """reset current games """ if request.method == 'POST': if request.cookies.has_key('session_id'): cookie_session = request.cookies.get('session_id') field = add_new_field() game = add_new_game(field) new_data_user = { 'game': game, 'field': field, 'session_id': cookie_session, 'status': 0, 'time': True} username = update_user(**new_data_user) if username: 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")
def test_add_feild(self): new_field = add_new_field() self.count += 1 return new_field