Guest User

Untitled

a guest
Nov 21st, 2017
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.56 KB | None | 0 0
  1. xy = json.loads(recv_data)
  2. print("desempaquetado", xy)
  3. print finishTime
  4. print datetime.now().strftime("%H:%M:%S:%f")
  5. startTime = datetime.now().replace(hour=startTime.hour, minute=startTime.minute,
  6. second=startTime.second,
  7. microsecond=startTime.microsecond)
  8. finishTime = datetime.now().replace(hour=finishTime.hour, minute=finishTime.minute,
  9. second=finishTime.second,
  10. microsecond=finishTime.microsecond)
  11.  
  12. delta = (finishTime - startTime).total_seconds()
  13. target_x = tiro.x_initial + (tiro.x_final - tiro.x_initial) * (delta / tiro.time)
  14. target_y = tiro.y_initial + (tiro.y_final - tiro.y_initial) * (delta / tiro.time)
  15. distance = math.sqrt(math.pow(xy['x'] - target_x, 2) + math.pow(xy['y'] - target_y, 2))
  16. r = Resultado(startTime=startTime,
  17. finishTime=finishTime,
  18. x=xy['x'],
  19. y=xy['y'],
  20. distance=distance,
  21. sesion=sesion,
  22. tiro=tiro)
  23. r.save()
  24.  
  25. # crear o actualizar estadisticas
  26. statistics = Estadisticas.objects.filter(deportista=deportista_pk)
  27. acierto = 0
  28. if distance < 2 * tiro.radius: # TODO: the minimun distance should be calculated more accurately!
  29. acierto = 1
  30. if len(statistics) == 0:
  31. estadistica = Estadisticas()
  32. estadistica.tiros = 1
  33. estadistica.aciertos = acierto
  34. estadistica.tiempo_total = tiro.time
  35. estadistica.tiempo_utilizado = delta
  36. estadistica.deportista = Deportista.objects.get(pk=deportista_pk)
  37. estadistica.save()
  38. elif len(statistics) == 1:
  39. estadistica = statistics[0]
  40. estadistica.actualizar(1, acierto, tiro.time, delta)
  41. estadistica.save()
  42.  
  43. sock.close()
  44. url = reverse_lazy("controller:resultado_show",
  45. args=[entrenador_pk, deportista_pk, rutina_pk,
  46. unicode(tiro.id), unicode(r.id)])
  47. return redirect(url)
Add Comment
Please, Sign In to add comment