mirror of
https://github.com/ynput/ayon-core.git
synced 2026-01-02 00:44:52 +01:00
Added exception handling to UE Workers
This commit is contained in:
parent
f0801cb098
commit
8fe7ab25c5
1 changed files with 24 additions and 15 deletions
|
|
@ -40,17 +40,34 @@ def retrieve_exit_code(line: str):
|
|||
return None
|
||||
|
||||
|
||||
class UEProjectGenerationWorker(QtCore.QObject):
|
||||
class UEWorker(QtCore.QObject):
|
||||
finished = QtCore.Signal(str)
|
||||
failed = QtCore.Signal(str)
|
||||
failed = QtCore.Signal(str, int)
|
||||
progress = QtCore.Signal(int)
|
||||
log = QtCore.Signal(str)
|
||||
|
||||
engine_path: Path = None
|
||||
env = None
|
||||
|
||||
def execute(self):
|
||||
raise NotImplementedError("Please implement this method!")
|
||||
|
||||
def run(self):
|
||||
try:
|
||||
self.execute()
|
||||
except Exception as e:
|
||||
import traceback
|
||||
self.log.emit(str(e))
|
||||
self.log.emit(traceback.format_exc())
|
||||
self.failed.emit(str(e), 1)
|
||||
raise e
|
||||
|
||||
|
||||
class UEProjectGenerationWorker(UEWorker):
|
||||
stage_begin = QtCore.Signal(str)
|
||||
|
||||
ue_version: str = None
|
||||
project_name: str = None
|
||||
env = None
|
||||
engine_path: Path = None
|
||||
project_dir: Path = None
|
||||
dev_mode = False
|
||||
|
||||
|
|
@ -87,7 +104,7 @@ class UEProjectGenerationWorker(QtCore.QObject):
|
|||
self.project_name = unreal_project_name
|
||||
self.engine_path = engine_path
|
||||
|
||||
def run(self):
|
||||
def execute(self):
|
||||
# engine_path should be the location of UE_X.X folder
|
||||
|
||||
ue_editor_exe = ue_lib.get_editor_exe_path(self.engine_path,
|
||||
|
|
@ -297,16 +314,8 @@ class UEProjectGenerationWorker(QtCore.QObject):
|
|||
self.progress.emit(100)
|
||||
self.finished.emit("Project successfully built!")
|
||||
|
||||
|
||||
class UEPluginInstallWorker(QtCore.QObject):
|
||||
finished = QtCore.Signal(str)
|
||||
class UEPluginInstallWorker(UEWorker):
|
||||
installing = QtCore.Signal(str)
|
||||
failed = QtCore.Signal(str, int)
|
||||
progress = QtCore.Signal(int)
|
||||
log = QtCore.Signal(str)
|
||||
|
||||
engine_path: Path = None
|
||||
env = None
|
||||
|
||||
def setup(self, engine_path: Path, env: dict = None, ):
|
||||
self.engine_path = engine_path
|
||||
|
|
@ -374,7 +383,7 @@ class UEPluginInstallWorker(QtCore.QObject):
|
|||
|
||||
dir_util.remove_tree(temp_dir.as_posix())
|
||||
|
||||
def run(self):
|
||||
def execute(self):
|
||||
src_plugin_dir = Path(self.env.get("AYON_UNREAL_PLUGIN", ""))
|
||||
|
||||
if not os.path.isdir(src_plugin_dir):
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue