Merge branch 'enhancement/AY-1001_validate-render-settings-optional' of github.com:ynput/ayon-core into enhancement/AY-1001_validate-render-settings-optional

This commit is contained in:
Ondřej Samohel 2024-05-03 12:57:39 +02:00
commit 6a6f9a454c
No known key found for this signature in database
GPG key ID: 02376E18990A97C6
2 changed files with 29 additions and 10 deletions

View file

@ -260,11 +260,11 @@ class UEProjectGenerationWorker(UEWorker):
self.failed.emit(msg, return_code) self.failed.emit(msg, return_code)
raise RuntimeError(msg) raise RuntimeError(msg)
# ensure we have PySide2 installed in engine # ensure we have PySide2/6 installed in engine
self.progress.emit(0) self.progress.emit(0)
self.stage_begin.emit( self.stage_begin.emit(
(f"Checking PySide2 installation... {stage_count} " (f"Checking Qt bindings installation... {stage_count} "
f" out of {stage_count}")) f" out of {stage_count}"))
python_path = None python_path = None
if platform.system().lower() == "windows": if platform.system().lower() == "windows":
@ -287,11 +287,30 @@ class UEProjectGenerationWorker(UEWorker):
msg = f"Unreal Python not found at {python_path}" msg = f"Unreal Python not found at {python_path}"
self.failed.emit(msg, 1) self.failed.emit(msg, 1)
raise RuntimeError(msg) raise RuntimeError(msg)
pyside_cmd = [python_path.as_posix(),
"-m", pyside_version = "PySide2"
"pip", ue_version = self.ue_version.split(".")
"install", if int(ue_version[0]) == 5 and int(ue_version[1]) >= 4:
"pyside2"] # Use PySide6 6.6.3 because 6.7.0 had a bug
# - 'QPushButton' can't be added to 'QBoxLayout'
pyside_version = "PySide6==6.6.3"
site_packages_prefix = python_path.parent.as_posix()
pyside_cmd = [
python_path.as_posix(),
"-m", "pip",
"install",
"--ignore-installed",
pyside_version,
]
if platform.system().lower() == "windows":
pyside_cmd += ["--target", site_packages_prefix]
print(f"--- Installing {pyside_version} ...")
print(" ".join(pyside_cmd))
pyside_install = subprocess.Popen(pyside_cmd, pyside_install = subprocess.Popen(pyside_cmd,
stdout=subprocess.PIPE, stdout=subprocess.PIPE,
@ -306,8 +325,8 @@ class UEProjectGenerationWorker(UEWorker):
return_code = pyside_install.wait() return_code = pyside_install.wait()
if return_code and return_code != 0: if return_code and return_code != 0:
msg = ("Failed to create the project! " msg = (f"Failed to create the project! {return_code} "
"The installation of PySide2 has failed!") f"The installation of {pyside_version} has failed!: {pyside_install}")
self.failed.emit(msg, return_code) self.failed.emit(msg, return_code)
raise RuntimeError(msg) raise RuntimeError(msg)

View file

@ -106,7 +106,7 @@ line-ending = "auto"
[tool.codespell] [tool.codespell]
# Ignore words that are not in the dictionary. # Ignore words that are not in the dictionary.
ignore-words-list = "ayon,ynput,parms,parm,hda,developpement" ignore-words-list = "ayon,ynput,parms,parm,hda,developpement,ue"
skip = "./.*,./package/*,*/vendor/*,*/unreal/integration/*,*/aftereffects/api/extension/js/libs/*" skip = "./.*,./package/*,*/vendor/*,*/unreal/integration/*,*/aftereffects/api/extension/js/libs/*"
count = true count = true