Exemplo n.º 1
0
def create_game_result():
	result = Result.query.filter_by(id=request.form['id']).first()

	if not result:
		if request.form['finished'] == '0':
			result = Result(
					input_phrase='', 
					user_id=request.form['user_id'],
					initiating=False, 
					game_id=request.form['game_id'],
					accuracy=0,
					finished=False,
					wpm=0,
					duration=0,
					created_at=datetime.datetime.now())
		else:
			result = Result(
					input_phrase=request.form['input_phrase'], 
					user_id=request.form['user_id'],
					initiating=True, 
					game_id=request.form['game_id'],
					accuracy=request.form['accuracy'],
					finished=True,
					wpm=request.form['wpm'],
					duration=request.form['duration'],
					created_at=datetime.datetime.now())
					
			increment_games_played(request.form['user_id'])
			
		db.session.add(result)
	else:
		result.finished = True
		result.input_phrase = request.form['input_phrase']
		result.accuracy=request.form['accuracy']
		result.wpm=request.form['wpm']
		result.duration=request.form['duration']
		
					
	if not result.initiating:
		if result.finished:
			increment_games_played(request.form['user_id'])
			game = Game.query.filter_by(id=result.game_id).first()
			game.active = False
			game.responded_to = datetime.datetime.now()
	
	db.session.commit()
	
	data = {
		'id' : result.id,
		'status' : 'success'
	}
	resp = jsonify(data)
	resp.status_code = 200
	return resp