time_recorder_timer.py 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. from time_recoder import save_recorded_time_in_table
  2. def get_current_time():
  3. return save_recorded_time_in_table.get_current_time_as_timestamp()
  4. class Timer:
  5. def __init__(self):
  6. self.start_time = -1
  7. self.pause_time = 0
  8. self.is_paused = False
  9. def get_passed_time(self):
  10. if self.was_started():
  11. current_time = get_current_time()
  12. if self.is_paused:
  13. return current_time - (self.start_time + (current_time - self.pause_time))
  14. else:
  15. return current_time - self.start_time
  16. else:
  17. return 0
  18. def get_value_string(self):
  19. current_time = self.get_passed_time()
  20. return '{:02d}:{:02d}:{:02d}'.format((current_time // 60) // 60,
  21. (current_time // 60) % 60,
  22. current_time % 60)
  23. def start(self):
  24. if self.is_paused:
  25. self.start_time = self.start_time + (get_current_time() - self.pause_time)
  26. self.pause_time = 0
  27. self.is_paused = False
  28. else:
  29. self.start_time = get_current_time()
  30. def stop(self):
  31. self.start_time = -1
  32. self.pause_time = 0
  33. self.is_paused = False
  34. def pause(self):
  35. if not self.is_paused:
  36. self.is_paused = True
  37. self.pause_time = get_current_time()
  38. def was_started(self):
  39. return self.start_time > 0