mirror of
https://github.com/blw1138/Zordon.git
synced 2026-06-09 13:39:24 -05:00
Update proxy to use similar named methods to new API calls
This commit is contained in:
+12
-2
@@ -441,8 +441,18 @@ def get_engines_info():
|
|||||||
return engine_data
|
return engine_data
|
||||||
|
|
||||||
|
|
||||||
|
@server.get('/api/engines/names')
|
||||||
|
def get_engine_names():
|
||||||
|
result = []
|
||||||
|
for engine_class in EngineManager.supported_engines():
|
||||||
|
data = EngineManager.all_version_data_for_engine(engine_class.name())
|
||||||
|
if data:
|
||||||
|
result.append(engine_class.name())
|
||||||
|
return result
|
||||||
|
|
||||||
|
|
||||||
@server.get('/api/engines/<engine_name>')
|
@server.get('/api/engines/<engine_name>')
|
||||||
def get_engine_info(engine_name):
|
def get_engine(engine_name):
|
||||||
try:
|
try:
|
||||||
response_type = _validated_engine_response_type()
|
response_type = _validated_engine_response_type()
|
||||||
engine_class = EngineManager.engine_class_with_name(engine_name)
|
engine_class = EngineManager.engine_class_with_name(engine_name)
|
||||||
@@ -454,7 +464,7 @@ def get_engine_info(engine_name):
|
|||||||
|
|
||||||
|
|
||||||
@server.get('/api/<engine_name>/is_available')
|
@server.get('/api/<engine_name>/is_available')
|
||||||
def is_engine_available(engine_name):
|
def get_engine_availability(engine_name):
|
||||||
return {'engine': engine_name, 'available': RenderQueue.is_available_for_job(engine_name),
|
return {'engine': engine_name, 'available': RenderQueue.is_available_for_job(engine_name),
|
||||||
'cpu_count': int(psutil.cpu_count(logical=False)),
|
'cpu_count': int(psutil.cpu_count(logical=False)),
|
||||||
'versions': EngineManager.all_version_data_for_engine(engine_name),
|
'versions': EngineManager.all_version_data_for_engine(engine_name),
|
||||||
|
|||||||
+10
-10
@@ -257,15 +257,15 @@ class RenderServerProxy:
|
|||||||
response = self.request(f'engine_for_filename?filename={os.path.basename(filename)}', timeout)
|
response = self.request(f'engine_for_filename?filename={os.path.basename(filename)}', timeout)
|
||||||
return response.text
|
return response.text
|
||||||
|
|
||||||
def get_installed_engines(self, timeout=5):
|
def get_engine_availability(self, engine_name:str, timeout=5):
|
||||||
return self.get_all_engine_info(timeout=timeout)
|
|
||||||
|
|
||||||
def is_engine_available(self, engine_name:str, timeout=5):
|
|
||||||
return self.request_data(f'{engine_name}/is_available', timeout)
|
return self.request_data(f'{engine_name}/is_available', timeout)
|
||||||
|
|
||||||
def get_all_engine_info(self, response_type='standard', timeout=5):
|
def get_engine_names(self, timeout=5):
|
||||||
|
return self.request_data('engines/names', timeout=timeout)
|
||||||
|
|
||||||
|
def get_engines(self, response_type='standard', timeout=5):
|
||||||
"""
|
"""
|
||||||
Fetches all engine information from the server.
|
Fetches engine information from the server.
|
||||||
|
|
||||||
Args:
|
Args:
|
||||||
response_type (str, optional): Returns standard or full version of engine info
|
response_type (str, optional): Returns standard or full version of engine info
|
||||||
@@ -277,7 +277,7 @@ class RenderServerProxy:
|
|||||||
all_data = self.request_data(f'engines?response_type={response_type}', timeout=timeout)
|
all_data = self.request_data(f'engines?response_type={response_type}', timeout=timeout)
|
||||||
return all_data
|
return all_data
|
||||||
|
|
||||||
def get_engine_info(self, engine_name:str, response_type='standard', timeout=5):
|
def get_engine(self, engine_name:str, response_type='standard', timeout=5):
|
||||||
"""
|
"""
|
||||||
Fetches specific engine information from the server.
|
Fetches specific engine information from the server.
|
||||||
|
|
||||||
@@ -291,9 +291,9 @@ class RenderServerProxy:
|
|||||||
"""
|
"""
|
||||||
return self.request_data(f'engines/{engine_name}?response_type={response_type}', timeout)
|
return self.request_data(f'engines/{engine_name}?response_type={response_type}', timeout)
|
||||||
|
|
||||||
def delete_engine(self, engine_name:str, version:str, system_os=None, cpu=None):
|
def delete_engine_download(self, engine_name:str, version:str, system_os=None, cpu=None):
|
||||||
"""
|
"""
|
||||||
Sends a request to the server to delete a specific engine.
|
Sends a request to the server to delete a specific engine download.
|
||||||
|
|
||||||
Args:
|
Args:
|
||||||
engine_name (str): The name of the engine to delete.
|
engine_name (str): The name of the engine to delete.
|
||||||
@@ -305,7 +305,7 @@ class RenderServerProxy:
|
|||||||
Response: The response from the server.
|
Response: The response from the server.
|
||||||
"""
|
"""
|
||||||
form_data = {'engine': engine_name, 'version': version, 'system_os': system_os, 'cpu': cpu}
|
form_data = {'engine': engine_name, 'version': version, 'system_os': system_os, 'cpu': cpu}
|
||||||
return requests.post(f'http://{self.hostname}:{self.port}/api/delete_engine', json=form_data)
|
return self._post('delete_engine', json=form_data)
|
||||||
|
|
||||||
# --------------------------------------------
|
# --------------------------------------------
|
||||||
# Download Files:
|
# Download Files:
|
||||||
|
|||||||
@@ -276,7 +276,7 @@ class DistributedJobManager:
|
|||||||
host_properties = ZeroconfServer.get_hostname_properties(hostname)
|
host_properties = ZeroconfServer.get_hostname_properties(hostname)
|
||||||
if host_properties.get('api_version') == API_VERSION:
|
if host_properties.get('api_version') == API_VERSION:
|
||||||
if not system_os or (system_os and system_os == host_properties.get('system_os')):
|
if not system_os or (system_os and system_os == host_properties.get('system_os')):
|
||||||
response = RenderServerProxy(hostname).is_engine_available(engine_name)
|
response = RenderServerProxy(hostname).get_engine_availability(engine_name)
|
||||||
if response and response.get('available', False):
|
if response and response.get('available', False):
|
||||||
found_available_servers.append(response)
|
found_available_servers.append(response)
|
||||||
|
|
||||||
|
|||||||
@@ -66,7 +66,7 @@ class NewRenderJobForm(QWidget):
|
|||||||
# Job / Server Data
|
# Job / Server Data
|
||||||
self.server_proxy = RenderServerProxy(socket.gethostname())
|
self.server_proxy = RenderServerProxy(socket.gethostname())
|
||||||
self.project_info = None
|
self.project_info = None
|
||||||
self.installed_engines = {}
|
self.installed_engines = []
|
||||||
self.preferred_engine = None
|
self.preferred_engine = None
|
||||||
|
|
||||||
# Setup
|
# Setup
|
||||||
@@ -345,7 +345,7 @@ class NewRenderJobForm(QWidget):
|
|||||||
self.engine_version_combo.addItem('latest')
|
self.engine_version_combo.addItem('latest')
|
||||||
self.file_format_combo.clear()
|
self.file_format_combo.clear()
|
||||||
if current_engine:
|
if current_engine:
|
||||||
engine_info = self.server_proxy.get_engine_info(current_engine, 'full', timeout=10)
|
engine_info = self.server_proxy.get_engine(current_engine, 'full', timeout=10)
|
||||||
self.current_engine_options = engine_info.get('options', [])
|
self.current_engine_options = engine_info.get('options', [])
|
||||||
if not engine_info:
|
if not engine_info:
|
||||||
raise FileNotFoundError(f"Cannot get information about engine '{current_engine}'")
|
raise FileNotFoundError(f"Cannot get information about engine '{current_engine}'")
|
||||||
@@ -404,7 +404,7 @@ class NewRenderJobForm(QWidget):
|
|||||||
"""Called by the GetProjectInfoWorker - Do not call directly."""
|
"""Called by the GetProjectInfoWorker - Do not call directly."""
|
||||||
try:
|
try:
|
||||||
|
|
||||||
self.engine_type.addItems(self.installed_engines.keys())
|
self.engine_type.addItems(self.installed_engines)
|
||||||
self.engine_type.setCurrentText(self.preferred_engine)
|
self.engine_type.setCurrentText(self.preferred_engine)
|
||||||
self.engine_changed()
|
self.engine_changed()
|
||||||
|
|
||||||
@@ -633,7 +633,7 @@ class GetProjectInfoWorker(QThread):
|
|||||||
def run(self):
|
def run(self):
|
||||||
try:
|
try:
|
||||||
# get the engine info and add them all to the ui
|
# get the engine info and add them all to the ui
|
||||||
self.window.installed_engines = self.window.server_proxy.get_installed_engines()
|
self.window.installed_engines = self.window.server_proxy.get_engine_names()
|
||||||
# select the best engine for the file type
|
# select the best engine for the file type
|
||||||
self.window.preferred_engine = self.window.server_proxy.get_engine_for_filename(self.project_path)
|
self.window.preferred_engine = self.window.server_proxy.get_engine_for_filename(self.project_path)
|
||||||
|
|
||||||
|
|||||||
@@ -93,7 +93,7 @@ class EngineBrowserWindow(QMainWindow):
|
|||||||
def update_table(self):
|
def update_table(self):
|
||||||
|
|
||||||
def update_table_worker():
|
def update_table_worker():
|
||||||
raw_server_data = RenderServerProxy(self.hostname).get_all_engine_info()
|
raw_server_data = RenderServerProxy(self.hostname).get_engines()
|
||||||
if not raw_server_data:
|
if not raw_server_data:
|
||||||
return
|
return
|
||||||
|
|
||||||
@@ -158,7 +158,7 @@ class EngineBrowserWindow(QMainWindow):
|
|||||||
if reply is not QMessageBox.StandardButton.Yes:
|
if reply is not QMessageBox.StandardButton.Yes:
|
||||||
return
|
return
|
||||||
|
|
||||||
result = RenderServerProxy(self.hostname).delete_engine(
|
result = RenderServerProxy(self.hostname).delete_engine_download(
|
||||||
engine_info['engine'], engine_info['version'], engine_info.get('system_os'), engine_info.get('cpu'),
|
engine_info['engine'], engine_info['version'], engine_info.get('system_os'), engine_info.get('cpu'),
|
||||||
)
|
)
|
||||||
if result.ok:
|
if result.ok:
|
||||||
|
|||||||
@@ -37,7 +37,7 @@ class GetEngineInfoWorker(QThread):
|
|||||||
self.parent = parent
|
self.parent = parent
|
||||||
|
|
||||||
def run(self):
|
def run(self):
|
||||||
data = RenderServerProxy(socket.gethostname()).get_all_engine_info()
|
data = RenderServerProxy(socket.gethostname()).get_engines()
|
||||||
self.done.emit(data)
|
self.done.emit(data)
|
||||||
|
|
||||||
class SettingsWindow(QMainWindow):
|
class SettingsWindow(QMainWindow):
|
||||||
@@ -549,4 +549,4 @@ if __name__ == "__main__":
|
|||||||
app = QApplication([])
|
app = QApplication([])
|
||||||
window = SettingsWindow()
|
window = SettingsWindow()
|
||||||
window.show()
|
window.show()
|
||||||
app.exec()
|
app.exec()
|
||||||
|
|||||||
Reference in New Issue
Block a user