mirror of
https://github.com/blw1138/Zordon.git
synced 2026-02-05 13:46:10 +00:00
New UI Redesign in pyqt6 (#56)
* Initial commit for new UI * Initial commit for new UI * WIP * Status bar updates and has an icon for online / offline * Add log_viewer.py * Use JSON for delete_engine_download API * Fix class issue with Downloaders * Move Config class to new ui * Add engine_browser.py * Add a close event handler to the main window * Fix issue with engine manager not deleting engines properly * Rearrange all the files * Add icons and resources * Cache system info in RenderServerProxy * Toolbar polish * Fix resource path in status bar * Add config_dir to misc_helper.py * Add try block to zeroconf setup * Add add_job.py * Add raw args to add_job.py
This commit is contained in:
@@ -34,9 +34,14 @@ class RenderServerProxy:
|
||||
self.__offline_flags = 0
|
||||
self.update_cadence = 5
|
||||
|
||||
# Cache some basic server info
|
||||
self.system_cpu = None
|
||||
self.system_cpu_count = None
|
||||
self.system_os = None
|
||||
self.system_os_version = None
|
||||
|
||||
def connect(self):
|
||||
status = self.request_data('status')
|
||||
return status
|
||||
return self.status()
|
||||
|
||||
def is_online(self):
|
||||
if self.__update_in_background:
|
||||
@@ -48,7 +53,7 @@ class RenderServerProxy:
|
||||
if not self.is_online():
|
||||
return "Offline"
|
||||
running_jobs = [x for x in self.__jobs_cache if x['status'] == 'running'] if self.__jobs_cache else []
|
||||
return f"{len(running_jobs)} running" if running_jobs else "Available"
|
||||
return f"{len(running_jobs)} running" if running_jobs else "Ready"
|
||||
|
||||
def request_data(self, payload, timeout=5):
|
||||
try:
|
||||
@@ -72,6 +77,8 @@ class RenderServerProxy:
|
||||
return requests.get(f'http://{self.hostname}:{self.port}/api/{payload}', timeout=timeout)
|
||||
|
||||
def start_background_update(self):
|
||||
if self.__update_in_background:
|
||||
return
|
||||
self.__update_in_background = True
|
||||
|
||||
def thread_worker():
|
||||
@@ -113,12 +120,24 @@ class RenderServerProxy:
|
||||
def cancel_job(self, job_id, confirm=False):
|
||||
return self.request_data(f'job/{job_id}/cancel?confirm={confirm}')
|
||||
|
||||
def delete_job(self, job_id, confirm=False):
|
||||
return self.request_data(f'job/{job_id}/delete?confirm={confirm}')
|
||||
|
||||
def get_status(self):
|
||||
return self.request_data('status')
|
||||
status = self.request_data('status')
|
||||
if not self.system_cpu:
|
||||
self.system_cpu = status['system_cpu']
|
||||
self.system_cpu_count = status['cpu_count']
|
||||
self.system_os = status['system_os']
|
||||
self.system_os_version = status['system_os_version']
|
||||
return status
|
||||
|
||||
def is_engine_available(self, engine_name):
|
||||
return self.request_data(f'{engine_name}/is_available')
|
||||
|
||||
def get_all_engines(self):
|
||||
return self.request_data('all_engines')
|
||||
|
||||
def notify_parent_of_status_change(self, parent_id, subjob):
|
||||
return requests.post(f'http://{self.hostname}:{self.port}/api/job/{parent_id}/notify_parent_of_status_change',
|
||||
json=subjob.json())
|
||||
@@ -160,3 +179,12 @@ class RenderServerProxy:
|
||||
f.write(chunk)
|
||||
return filename
|
||||
|
||||
# --- Renderer --- #
|
||||
|
||||
def get_renderer_info(self, timeout=5, simple=False):
|
||||
all_data = self.request_data(f'renderer_info?simple={simple}', timeout=timeout)
|
||||
return all_data
|
||||
|
||||
def delete_engine(self, engine, version, system_cpu=None):
|
||||
form_data = {'engine': engine, 'version': version, 'system_cpu': system_cpu}
|
||||
return requests.post(f'http://{self.hostname}:{self.port}/api/delete_engine', json=form_data)
|
||||
|
||||
Reference in New Issue
Block a user