48 lines
1.0 KiB
Python
48 lines
1.0 KiB
Python
import enum
|
|
import threading
|
|
import typing
|
|
|
|
|
|
class G:
|
|
"""Global state of the Benchmark Client."""
|
|
|
|
class State(enum.Enum):
|
|
welcome = 1
|
|
running = 2
|
|
complete = 3
|
|
submitting = 4
|
|
|
|
state = State.welcome
|
|
result_platform = ''
|
|
progress_status = ''
|
|
result_stats = ''
|
|
result_dict = {}
|
|
background_image_path = ""
|
|
scene_status = {}
|
|
cancel = False
|
|
|
|
cached_system_info = {}
|
|
cached_compute_devices = []
|
|
results_submitted = False
|
|
results_url = ''
|
|
|
|
images = {}
|
|
current_progress = 0.0
|
|
progress_lock = threading.Lock()
|
|
|
|
submission_exception: typing.Optional[Exception] = None
|
|
|
|
@classmethod
|
|
def reset(cls):
|
|
"""Reset the global state."""
|
|
cls.state = G.State.welcome
|
|
cls.result_platform = ''
|
|
cls.progress_status = ''
|
|
cls.result_stats = ''
|
|
cls.result_dict = {}
|
|
cls.background_image_path = ""
|
|
cls.scene_status = {}
|
|
cls.results_submitted = False
|
|
cls.results_url = ''
|
|
cls.submission_exception = None
|