File size: 921 Bytes
7d9b74c
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
bfa18a9
 
 
 
7d9b74c
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
import time

from src.utils.singleton import Singleton

from src.modules.logger import logger as Logger


class State:
    __metaclass__ = Singleton

    def __init__(self):
        # Common
        self._lock = False
        self._time_start = None

        # Prediction
        self._current_image = None

    def _check_lock_assert(self):
        if self._lock:
            raise Exception('State locked')

    # State begin - end
    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()