Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- xy = json.loads(recv_data)
- print("desempaquetado", xy)
- print finishTime
- print datetime.now().strftime("%H:%M:%S:%f")
- startTime = datetime.now().replace(hour=startTime.hour, minute=startTime.minute,
- second=startTime.second,
- microsecond=startTime.microsecond)
- finishTime = datetime.now().replace(hour=finishTime.hour, minute=finishTime.minute,
- second=finishTime.second,
- microsecond=finishTime.microsecond)
- delta = (finishTime - startTime).total_seconds()
- target_x = tiro.x_initial + (tiro.x_final - tiro.x_initial) * (delta / tiro.time)
- target_y = tiro.y_initial + (tiro.y_final - tiro.y_initial) * (delta / tiro.time)
- distance = math.sqrt(math.pow(xy['x'] - target_x, 2) + math.pow(xy['y'] - target_y, 2))
- r = Resultado(startTime=startTime,
- finishTime=finishTime,
- x=xy['x'],
- y=xy['y'],
- distance=distance,
- sesion=sesion,
- tiro=tiro)
- r.save()
- # crear o actualizar estadisticas
- statistics = Estadisticas.objects.filter(deportista=deportista_pk)
- acierto = 0
- if distance < 2 * tiro.radius: # TODO: the minimun distance should be calculated more accurately!
- acierto = 1
- if len(statistics) == 0:
- estadistica = Estadisticas()
- estadistica.tiros = 1
- estadistica.aciertos = acierto
- estadistica.tiempo_total = tiro.time
- estadistica.tiempo_utilizado = delta
- estadistica.deportista = Deportista.objects.get(pk=deportista_pk)
- estadistica.save()
- elif len(statistics) == 1:
- estadistica = statistics[0]
- estadistica.actualizar(1, acierto, tiro.time, delta)
- estadistica.save()
- sock.close()
- url = reverse_lazy("controller:resultado_show",
- args=[entrenador_pk, deportista_pk, rutina_pk,
- unicode(tiro.id), unicode(r.id)])
- return redirect(url)
Add Comment
Please, Sign In to add comment