| import time |
|
|
| from src.utils.singleton import Singleton |
|
|
| from src.modules.logger import logger as Logger |
|
|
|
|
| class State: |
| __metaclass__ = Singleton |
|
|
| def __init__(self): |
| |
| self._lock = False |
| self._time_start = None |
|
|
| |
| self._current_image = None |
|
|
| def _check_lock_assert(self): |
| if self._lock: |
| raise Exception('State locked') |
|
|
| |
| def begin(self): |
| self._check_lock_assert() |
| self._lock = True |
| self._time_start = time.time() |
| Logger.info(f"Started at: {self._time_start}") |
|
|
| def end(self): |
| self._lock = False |
| Logger.info(f"Stopped at: {time.time()}") |
|
|
| def set_current_image(self, image): |
| Logger.info(f"Set current image: {image}") |
| self._current_image = image |
|
|
| def get_current_image(self): |
| return self._current_image |
|
|
|
|
| state = State() |
|
|