mirror of
https://github.com/ynput/ayon-core.git
synced 2025-12-25 05:14:40 +01:00
Merge branch 'develop' into feature/1139-anatomy-data-on-project-document
This commit is contained in:
commit
8a44461dd7
11 changed files with 447 additions and 279 deletions
|
|
@ -6,7 +6,7 @@ class PrePython2Vendor(PreLaunchHook):
|
|||
"""Prepend python 2 dependencies for py2 hosts."""
|
||||
# WARNING This hook will probably be deprecated in Pype 3 - kept for test
|
||||
order = 10
|
||||
app_groups = ["hiero", "nuke"]
|
||||
app_groups = ["hiero", "nuke", "nukex"]
|
||||
|
||||
def execute(self):
|
||||
# Prepare vendor dir path
|
||||
|
|
|
|||
|
|
@ -210,32 +210,16 @@ class ApplicationTool:
|
|||
|
||||
class ApplicationExecutable:
|
||||
def __init__(self, executable):
|
||||
default_launch_args = []
|
||||
executable_path = None
|
||||
if isinstance(executable, str):
|
||||
executable_path = executable
|
||||
|
||||
elif isinstance(executable, list):
|
||||
for arg in executable:
|
||||
if arg:
|
||||
if executable_path is None:
|
||||
executable_path = arg
|
||||
else:
|
||||
default_launch_args.append(arg)
|
||||
|
||||
self.executable_path = executable_path
|
||||
self.default_launch_args = default_launch_args
|
||||
|
||||
def __iter__(self):
|
||||
yield self._realpath()
|
||||
for arg in self.default_launch_args:
|
||||
yield arg
|
||||
self.executable_path = executable
|
||||
|
||||
def __str__(self):
|
||||
return self.executable_path
|
||||
|
||||
def __repr__(self):
|
||||
return "<{}> {}".format(self.__class__.__name__, self.executable_path)
|
||||
|
||||
def as_args(self):
|
||||
return list(self)
|
||||
return [self.executable_path]
|
||||
|
||||
def _realpath(self):
|
||||
"""Check if path is valid executable path."""
|
||||
|
|
@ -293,11 +277,19 @@ class Application:
|
|||
elif isinstance(_executables, dict):
|
||||
_executables = _executables.get(platform.system().lower()) or []
|
||||
|
||||
_arguments = app_data["arguments"]
|
||||
if not _arguments:
|
||||
_arguments = []
|
||||
|
||||
elif isinstance(_arguments, dict):
|
||||
_arguments = _arguments.get(platform.system().lower()) or []
|
||||
|
||||
executables = []
|
||||
for executable in _executables:
|
||||
executables.append(ApplicationExecutable(executable))
|
||||
|
||||
self.executables = executables
|
||||
self.arguments = _arguments
|
||||
|
||||
@property
|
||||
def full_label(self):
|
||||
|
|
@ -503,6 +495,7 @@ class ApplicationLaunchContext:
|
|||
|
||||
# subprocess.Popen launch arguments (first argument in constructor)
|
||||
self.launch_args = executable.as_args()
|
||||
self.launch_args.extend(application.arguments)
|
||||
|
||||
# Handle launch environemtns
|
||||
env = self.data.pop("env", None)
|
||||
|
|
|
|||
|
|
@ -37,19 +37,18 @@
|
|||
"icon": "",
|
||||
"executables": {
|
||||
"windows": [
|
||||
[
|
||||
"C:\\Program Files\\Autodesk\\Maya2020\\bin\\maya.exe",
|
||||
""
|
||||
]
|
||||
"C:\\Program Files\\Autodesk\\Maya2020\\bin\\maya.exe"
|
||||
],
|
||||
"darwin": [],
|
||||
"linux": [
|
||||
[
|
||||
"/usr/autodesk/maya2020/bin/maya",
|
||||
""
|
||||
]
|
||||
"/usr/autodesk/maya2020/bin/maya"
|
||||
]
|
||||
},
|
||||
"arguments": {
|
||||
"windows": [],
|
||||
"darwin": [],
|
||||
"linux": []
|
||||
},
|
||||
"environment": {
|
||||
"MAYA_VERSION": "2020",
|
||||
"__environment_keys__": {
|
||||
|
|
@ -66,19 +65,18 @@
|
|||
"icon": "",
|
||||
"executables": {
|
||||
"windows": [
|
||||
[
|
||||
"C:\\Program Files\\Autodesk\\Maya2019\\bin\\maya.exe",
|
||||
""
|
||||
]
|
||||
"C:\\Program Files\\Autodesk\\Maya2019\\bin\\maya.exe"
|
||||
],
|
||||
"darwin": [],
|
||||
"linux": [
|
||||
[
|
||||
"/usr/autodesk/maya2019/bin/maya",
|
||||
""
|
||||
]
|
||||
"/usr/autodesk/maya2019/bin/maya"
|
||||
]
|
||||
},
|
||||
"arguments": {
|
||||
"windows": [],
|
||||
"darwin": [],
|
||||
"linux": []
|
||||
},
|
||||
"environment": {
|
||||
"MAYA_VERSION": "2019",
|
||||
"__environment_keys__": {
|
||||
|
|
@ -95,19 +93,18 @@
|
|||
"icon": "",
|
||||
"executables": {
|
||||
"windows": [
|
||||
[
|
||||
"C:\\Program Files\\Autodesk\\Maya2017\\bin\\maya.exe",
|
||||
""
|
||||
]
|
||||
"C:\\Program Files\\Autodesk\\Maya2018\\bin\\maya.exe"
|
||||
],
|
||||
"darwin": [],
|
||||
"linux": [
|
||||
[
|
||||
"/usr/autodesk/maya2018/bin/maya",
|
||||
""
|
||||
]
|
||||
"/usr/autodesk/maya2018/bin/maya"
|
||||
]
|
||||
},
|
||||
"arguments": {
|
||||
"windows": [],
|
||||
"darwin": [],
|
||||
"linux": []
|
||||
},
|
||||
"environment": {
|
||||
"MAYA_VERSION": "2018",
|
||||
"__environment_keys__": {
|
||||
|
|
@ -159,14 +156,16 @@
|
|||
"icon": "",
|
||||
"executables": {
|
||||
"windows": [
|
||||
[
|
||||
"C:\\Program Files\\Autodesk\\Maya2020\\bin\\mayabatch.exe",
|
||||
""
|
||||
]
|
||||
"C:\\Program Files\\Autodesk\\Maya2020\\bin\\mayabatch.exe"
|
||||
],
|
||||
"darwin": [],
|
||||
"linux": []
|
||||
},
|
||||
"arguments": {
|
||||
"windows": [],
|
||||
"darwin": [],
|
||||
"linux": []
|
||||
},
|
||||
"environment": {
|
||||
"MAYA_VERSION": "2020",
|
||||
"__environment_keys__": {
|
||||
|
|
@ -183,14 +182,16 @@
|
|||
"icon": "",
|
||||
"executables": {
|
||||
"windows": [
|
||||
[
|
||||
"C:\\Program Files\\Autodesk\\Maya2019\\bin\\mayabatch.exe",
|
||||
""
|
||||
]
|
||||
"C:\\Program Files\\Autodesk\\Maya2019\\bin\\mayabatch.exe"
|
||||
],
|
||||
"darwin": [],
|
||||
"linux": []
|
||||
},
|
||||
"arguments": {
|
||||
"windows": [],
|
||||
"darwin": [],
|
||||
"linux": []
|
||||
},
|
||||
"environment": {
|
||||
"MAYA_VERSION": "2019",
|
||||
"__environment_keys__": {
|
||||
|
|
@ -207,14 +208,16 @@
|
|||
"icon": "",
|
||||
"executables": {
|
||||
"windows": [
|
||||
[
|
||||
"C:\\Program Files\\Autodesk\\Maya2018\\bin\\mayabatch.exe",
|
||||
""
|
||||
]
|
||||
"C:\\Program Files\\Autodesk\\Maya2018\\bin\\mayabatch.exe"
|
||||
],
|
||||
"darwin": [],
|
||||
"linux": []
|
||||
},
|
||||
"arguments": {
|
||||
"windows": [],
|
||||
"darwin": [],
|
||||
"linux": []
|
||||
},
|
||||
"environment": {
|
||||
"MAYA_VERSION": "2018",
|
||||
"__environment_keys__": {
|
||||
|
|
@ -257,19 +260,18 @@
|
|||
"icon": "",
|
||||
"executables": {
|
||||
"windows": [
|
||||
[
|
||||
"C:\\Program Files\\Nuke12.2v3\\Nuke12.2.exe",
|
||||
""
|
||||
]
|
||||
"C:\\Program Files\\Nuke12.2v3\\Nuke12.2.exe"
|
||||
],
|
||||
"darwin": [],
|
||||
"linux": [
|
||||
[
|
||||
"/usr/local/Nuke12.2v3Nuke12.2",
|
||||
""
|
||||
]
|
||||
"/usr/local/Nuke12.2v3Nuke12.2"
|
||||
]
|
||||
},
|
||||
"arguments": {
|
||||
"windows": [],
|
||||
"darwin": [],
|
||||
"linux": []
|
||||
},
|
||||
"environment": {
|
||||
"__environment_keys__": {
|
||||
"nuke_12.2": []
|
||||
|
|
@ -283,19 +285,18 @@
|
|||
"icon": "",
|
||||
"executables": {
|
||||
"windows": [
|
||||
[
|
||||
"C:\\Program Files\\Nuke12.0v1\\Nuke12.0.exe",
|
||||
""
|
||||
]
|
||||
"C:\\Program Files\\Nuke12.0v1\\Nuke12.0.exe"
|
||||
],
|
||||
"darwin": [],
|
||||
"linux": [
|
||||
[
|
||||
"/usr/local/Nuke12.0v1/Nuke12.0",
|
||||
""
|
||||
]
|
||||
"/usr/local/Nuke12.0v1/Nuke12.0"
|
||||
]
|
||||
},
|
||||
"arguments": {
|
||||
"windows": [],
|
||||
"darwin": [],
|
||||
"linux": []
|
||||
},
|
||||
"environment": {
|
||||
"__environment_keys__": {
|
||||
"nuke_12.0": []
|
||||
|
|
@ -309,19 +310,18 @@
|
|||
"icon": "",
|
||||
"executables": {
|
||||
"windows": [
|
||||
[
|
||||
"C:\\Program Files\\Nuke11.3v1\\Nuke11.3.exe",
|
||||
""
|
||||
]
|
||||
"C:\\Program Files\\Nuke11.3v1\\Nuke11.3.exe"
|
||||
],
|
||||
"darwin": [],
|
||||
"linux": [
|
||||
[
|
||||
"/usr/local/Nuke11.3v5/Nuke11.3",
|
||||
""
|
||||
]
|
||||
"/usr/local/Nuke11.3v5/Nuke11.3"
|
||||
]
|
||||
},
|
||||
"arguments": {
|
||||
"windows": [],
|
||||
"darwin": [],
|
||||
"linux": []
|
||||
},
|
||||
"environment": {
|
||||
"__environment_keys__": {
|
||||
"nuke_11.3": []
|
||||
|
|
@ -335,14 +335,16 @@
|
|||
"icon": "",
|
||||
"executables": {
|
||||
"windows": [
|
||||
[
|
||||
"C:\\Program Files\\Nuke11.2v2\\Nuke11.2.exe",
|
||||
""
|
||||
]
|
||||
"C:\\Program Files\\Nuke11.2v2\\Nuke11.2.exe"
|
||||
],
|
||||
"darwin": [],
|
||||
"linux": []
|
||||
},
|
||||
"arguments": {
|
||||
"windows": [],
|
||||
"darwin": [],
|
||||
"linux": []
|
||||
},
|
||||
"environment": {
|
||||
"__environment_keys__": {
|
||||
"nuke_11.2": []
|
||||
|
|
@ -382,17 +384,22 @@
|
|||
"icon": "",
|
||||
"executables": {
|
||||
"windows": [
|
||||
[
|
||||
"C:\\Program Files\\Nuke12.2v3\\Nuke12.2.exe",
|
||||
"--nukex"
|
||||
]
|
||||
"C:\\Program Files\\Nuke12.2v3\\Nuke12.2.exe"
|
||||
],
|
||||
"darwin": [],
|
||||
"linux": [
|
||||
[
|
||||
"/usr/local/Nuke12.2v3Nuke12.2",
|
||||
"--nukex"
|
||||
]
|
||||
"/usr/local/Nuke12.2v3Nuke12.2"
|
||||
]
|
||||
},
|
||||
"arguments": {
|
||||
"windows": [
|
||||
"--nukex"
|
||||
],
|
||||
"darwin": [
|
||||
"--nukex"
|
||||
],
|
||||
"linux": [
|
||||
"--nukex"
|
||||
]
|
||||
},
|
||||
"environment": {
|
||||
|
|
@ -408,17 +415,22 @@
|
|||
"icon": "",
|
||||
"executables": {
|
||||
"windows": [
|
||||
[
|
||||
"C:\\Program Files\\Nuke12.0v1\\Nuke12.0.exe",
|
||||
"--nukex"
|
||||
]
|
||||
"C:\\Program Files\\Nuke12.0v1\\Nuke12.0.exe"
|
||||
],
|
||||
"darwin": [],
|
||||
"linux": [
|
||||
[
|
||||
"/usr/local/Nuke12.0v1/Nuke12.0",
|
||||
"--nukex"
|
||||
]
|
||||
"/usr/local/Nuke12.0v1/Nuke12.0"
|
||||
]
|
||||
},
|
||||
"arguments": {
|
||||
"windows": [
|
||||
"--nukex"
|
||||
],
|
||||
"darwin": [
|
||||
"--nukex"
|
||||
],
|
||||
"linux": [
|
||||
"--nukex"
|
||||
]
|
||||
},
|
||||
"environment": {
|
||||
|
|
@ -434,17 +446,22 @@
|
|||
"icon": "",
|
||||
"executables": {
|
||||
"windows": [
|
||||
[
|
||||
"C:\\Program Files\\Nuke11.3v1\\Nuke11.3.exe",
|
||||
"--nukex"
|
||||
]
|
||||
"C:\\Program Files\\Nuke11.3v1\\Nuke11.3.exe"
|
||||
],
|
||||
"darwin": [],
|
||||
"linux": [
|
||||
[
|
||||
"/usr/local/Nuke11.3v5/Nuke11.3",
|
||||
"--nukex"
|
||||
]
|
||||
"/usr/local/Nuke11.3v5/Nuke11.3"
|
||||
]
|
||||
},
|
||||
"arguments": {
|
||||
"windows": [
|
||||
"--nukex"
|
||||
],
|
||||
"darwin": [
|
||||
"--nukex"
|
||||
],
|
||||
"linux": [
|
||||
"--nukex"
|
||||
]
|
||||
},
|
||||
"environment": {
|
||||
|
|
@ -460,14 +477,22 @@
|
|||
"icon": "",
|
||||
"executables": {
|
||||
"windows": [
|
||||
[
|
||||
"C:\\Program Files\\Nuke11.2v2\\Nuke11.2.exe",
|
||||
"--nukex"
|
||||
]
|
||||
"C:\\Program Files\\Nuke11.2v2\\Nuke11.2.exe"
|
||||
],
|
||||
"darwin": [],
|
||||
"linux": []
|
||||
},
|
||||
"arguments": {
|
||||
"windows": [
|
||||
"--nukex"
|
||||
],
|
||||
"darwin": [
|
||||
"--nukex"
|
||||
],
|
||||
"linux": [
|
||||
"--nukex"
|
||||
]
|
||||
},
|
||||
"environment": {
|
||||
"__environment_keys__": {
|
||||
"nukex_11.2": []
|
||||
|
|
@ -509,17 +534,22 @@
|
|||
"icon": "",
|
||||
"executables": {
|
||||
"windows": [
|
||||
[
|
||||
"C:\\Program Files\\Nuke12.2v3\\Nuke12.2.exe",
|
||||
"--studio"
|
||||
]
|
||||
"C:\\Program Files\\Nuke12.2v3\\Nuke12.2.exe"
|
||||
],
|
||||
"darwin": [],
|
||||
"linux": [
|
||||
[
|
||||
"/usr/local/Nuke12.2v3Nuke12.2",
|
||||
"--studio"
|
||||
]
|
||||
"/usr/local/Nuke12.2v3Nuke12.2"
|
||||
]
|
||||
},
|
||||
"arguments": {
|
||||
"windows": [
|
||||
"--studio"
|
||||
],
|
||||
"darwin": [
|
||||
"--studio"
|
||||
],
|
||||
"linux": [
|
||||
"--studio"
|
||||
]
|
||||
},
|
||||
"environment": {
|
||||
|
|
@ -535,17 +565,22 @@
|
|||
"icon": "",
|
||||
"executables": {
|
||||
"windows": [
|
||||
[
|
||||
"C:\\Program Files\\Nuke12.0v1\\Nuke12.0.exe",
|
||||
"--studio"
|
||||
]
|
||||
"C:\\Program Files\\Nuke12.0v1\\Nuke12.0.exe"
|
||||
],
|
||||
"darwin": [],
|
||||
"linux": [
|
||||
[
|
||||
"/usr/local/Nuke12.0v1/Nuke12.0",
|
||||
"--studio"
|
||||
]
|
||||
"/usr/local/Nuke12.0v1/Nuke12.0"
|
||||
]
|
||||
},
|
||||
"arguments": {
|
||||
"windows": [
|
||||
"--studio"
|
||||
],
|
||||
"darwin": [
|
||||
"--studio"
|
||||
],
|
||||
"linux": [
|
||||
"--studio"
|
||||
]
|
||||
},
|
||||
"environment": {
|
||||
|
|
@ -561,17 +596,22 @@
|
|||
"icon": "",
|
||||
"executables": {
|
||||
"windows": [
|
||||
[
|
||||
"C:\\Program Files\\Nuke11.3v1\\Nuke11.3.exe",
|
||||
"--studio"
|
||||
]
|
||||
"C:\\Program Files\\Nuke11.3v1\\Nuke11.3.exe"
|
||||
],
|
||||
"darwin": [],
|
||||
"linux": [
|
||||
[
|
||||
"/usr/local/Nuke11.3v5/Nuke11.3",
|
||||
"--studio"
|
||||
]
|
||||
"/usr/local/Nuke11.3v5/Nuke11.3"
|
||||
]
|
||||
},
|
||||
"arguments": {
|
||||
"windows": [
|
||||
"--studio"
|
||||
],
|
||||
"darwin": [
|
||||
"--studio"
|
||||
],
|
||||
"linux": [
|
||||
"--studio"
|
||||
]
|
||||
},
|
||||
"environment": {
|
||||
|
|
@ -590,6 +630,17 @@
|
|||
"darwin": [],
|
||||
"linux": []
|
||||
},
|
||||
"arguments": {
|
||||
"windows": [
|
||||
"--studio"
|
||||
],
|
||||
"darwin": [
|
||||
"--studio"
|
||||
],
|
||||
"linux": [
|
||||
"--studio"
|
||||
]
|
||||
},
|
||||
"environment": {
|
||||
"__environment_keys__": {
|
||||
"nukestudio_11.2": []
|
||||
|
|
@ -631,17 +682,22 @@
|
|||
"icon": "",
|
||||
"executables": {
|
||||
"windows": [
|
||||
[
|
||||
"C:\\Program Files\\Nuke12.2v3\\Nuke12.2.exe",
|
||||
"--hiero"
|
||||
]
|
||||
"C:\\Program Files\\Nuke12.2v3\\Nuke12.2.exe"
|
||||
],
|
||||
"darwin": [],
|
||||
"linux": [
|
||||
[
|
||||
"/usr/local/Nuke12.2v3Nuke12.2",
|
||||
"--hiero"
|
||||
]
|
||||
"/usr/local/Nuke12.2v3Nuke12.2"
|
||||
]
|
||||
},
|
||||
"arguments": {
|
||||
"windows": [
|
||||
"--hiero"
|
||||
],
|
||||
"darwin": [
|
||||
"--hiero"
|
||||
],
|
||||
"linux": [
|
||||
"--hiero"
|
||||
]
|
||||
},
|
||||
"environment": {
|
||||
|
|
@ -657,17 +713,22 @@
|
|||
"icon": "",
|
||||
"executables": {
|
||||
"windows": [
|
||||
[
|
||||
"C:\\Program Files\\Nuke12.0v1\\Nuke12.0.exe",
|
||||
"--hiero"
|
||||
]
|
||||
"C:\\Program Files\\Nuke12.0v1\\Nuke12.0.exe"
|
||||
],
|
||||
"darwin": [],
|
||||
"linux": [
|
||||
[
|
||||
"/usr/local/Nuke12.0v1/Nuke12.0",
|
||||
"--hiero"
|
||||
]
|
||||
"/usr/local/Nuke12.0v1/Nuke12.0"
|
||||
]
|
||||
},
|
||||
"arguments": {
|
||||
"windows": [
|
||||
"--hiero"
|
||||
],
|
||||
"darwin": [
|
||||
"--hiero"
|
||||
],
|
||||
"linux": [
|
||||
"--hiero"
|
||||
]
|
||||
},
|
||||
"environment": {
|
||||
|
|
@ -683,17 +744,22 @@
|
|||
"icon": "",
|
||||
"executables": {
|
||||
"windows": [
|
||||
[
|
||||
"C:\\Program Files\\Nuke11.3v1\\Nuke11.3.exe",
|
||||
"--hiero"
|
||||
]
|
||||
"C:\\Program Files\\Nuke11.3v1\\Nuke11.3.exe"
|
||||
],
|
||||
"darwin": [],
|
||||
"linux": [
|
||||
[
|
||||
"/usr/local/Nuke11.3v5/Nuke11.3",
|
||||
"--hiero"
|
||||
]
|
||||
"/usr/local/Nuke11.3v5/Nuke11.3"
|
||||
]
|
||||
},
|
||||
"arguments": {
|
||||
"windows": [
|
||||
"--hiero"
|
||||
],
|
||||
"darwin": [
|
||||
"--hiero"
|
||||
],
|
||||
"linux": [
|
||||
"--hiero"
|
||||
]
|
||||
},
|
||||
"environment": {
|
||||
|
|
@ -709,14 +775,22 @@
|
|||
"icon": "",
|
||||
"executables": {
|
||||
"windows": [
|
||||
[
|
||||
"C:\\Program Files\\Nuke11.2v2\\Nuke11.2.exe",
|
||||
"--hiero"
|
||||
]
|
||||
"C:\\Program Files\\Nuke11.2v2\\Nuke11.2.exe"
|
||||
],
|
||||
"darwin": [],
|
||||
"linux": []
|
||||
},
|
||||
"arguments": {
|
||||
"windows": [
|
||||
"--hiero"
|
||||
],
|
||||
"darwin": [
|
||||
"--hiero"
|
||||
],
|
||||
"linux": [
|
||||
"--hiero"
|
||||
]
|
||||
},
|
||||
"environment": {
|
||||
"__environment_keys__": {
|
||||
"hiero_11.2": []
|
||||
|
|
@ -775,6 +849,11 @@
|
|||
"darwin": [],
|
||||
"linux": []
|
||||
},
|
||||
"arguments": {
|
||||
"windows": [],
|
||||
"darwin": [],
|
||||
"linux": []
|
||||
},
|
||||
"environment": {
|
||||
"__environment_keys__": {
|
||||
"fusion_16": []
|
||||
|
|
@ -788,14 +867,16 @@
|
|||
"icon": "",
|
||||
"executables": {
|
||||
"windows": [
|
||||
[
|
||||
"C:\\Program Files\\Blackmagic Design\\Fusion 9\\Fusion.exe",
|
||||
""
|
||||
]
|
||||
"C:\\Program Files\\Blackmagic Design\\Fusion 9\\Fusion.exe"
|
||||
],
|
||||
"darwin": [],
|
||||
"linux": []
|
||||
},
|
||||
"arguments": {
|
||||
"windows": [],
|
||||
"darwin": [],
|
||||
"linux": []
|
||||
},
|
||||
"environment": {
|
||||
"__environment_keys__": {
|
||||
"fusion_9": []
|
||||
|
|
@ -869,14 +950,16 @@
|
|||
"icon": "",
|
||||
"executables": {
|
||||
"windows": [
|
||||
[
|
||||
"C:/Program Files/Blackmagic Design/DaVinci Resolve/Resolve.exe",
|
||||
""
|
||||
]
|
||||
"C:/Program Files/Blackmagic Design/DaVinci Resolve/Resolve.exe"
|
||||
],
|
||||
"darwin": [],
|
||||
"linux": []
|
||||
},
|
||||
"arguments": {
|
||||
"windows": [],
|
||||
"darwin": [],
|
||||
"linux": []
|
||||
},
|
||||
"environment": {
|
||||
"__environment_keys__": {
|
||||
"resolve_16": []
|
||||
|
|
@ -919,6 +1002,11 @@
|
|||
"darwin": [],
|
||||
"linux": []
|
||||
},
|
||||
"arguments": {
|
||||
"windows": [],
|
||||
"darwin": [],
|
||||
"linux": []
|
||||
},
|
||||
"environment": {
|
||||
"__environment_keys__": {
|
||||
"houdini_18": []
|
||||
|
|
@ -935,6 +1023,11 @@
|
|||
"darwin": [],
|
||||
"linux": []
|
||||
},
|
||||
"arguments": {
|
||||
"windows": [],
|
||||
"darwin": [],
|
||||
"linux": []
|
||||
},
|
||||
"environment": {
|
||||
"__environment_keys__": {
|
||||
"houdini_17": []
|
||||
|
|
@ -971,14 +1064,22 @@
|
|||
"icon": "",
|
||||
"executables": {
|
||||
"windows": [
|
||||
[
|
||||
"C:\\Program Files\\Blender Foundation\\Blender 2.90\\blender.exe",
|
||||
"--python-use-system-env"
|
||||
]
|
||||
"C:\\Program Files\\Blender Foundation\\Blender 2.90\\blender.exe"
|
||||
],
|
||||
"darwin": [],
|
||||
"linux": []
|
||||
},
|
||||
"arguments": {
|
||||
"windows": [
|
||||
"--python-use-system-env"
|
||||
],
|
||||
"darwin": [
|
||||
"--python-use-system-env"
|
||||
],
|
||||
"linux": [
|
||||
"--python-use-system-env"
|
||||
]
|
||||
},
|
||||
"environment": {
|
||||
"__environment_keys__": {
|
||||
"blender_2.90": []
|
||||
|
|
@ -992,14 +1093,22 @@
|
|||
"icon": "",
|
||||
"executables": {
|
||||
"windows": [
|
||||
[
|
||||
"C:\\Program Files\\Blender Foundation\\Blender 2.83\\blender.exe",
|
||||
"--python-use-system-env"
|
||||
]
|
||||
"C:\\Program Files\\Blender Foundation\\Blender 2.83\\blender.exe"
|
||||
],
|
||||
"darwin": [],
|
||||
"linux": []
|
||||
},
|
||||
"arguments": {
|
||||
"windows": [
|
||||
"--python-use-system-env"
|
||||
],
|
||||
"darwin": [
|
||||
"--python-use-system-env"
|
||||
],
|
||||
"linux": [
|
||||
"--python-use-system-env"
|
||||
]
|
||||
},
|
||||
"environment": {
|
||||
"__environment_keys__": {
|
||||
"blender_2.83": []
|
||||
|
|
@ -1034,6 +1143,11 @@
|
|||
"darwin": [],
|
||||
"linux": []
|
||||
},
|
||||
"arguments": {
|
||||
"windows": [],
|
||||
"darwin": [],
|
||||
"linux": []
|
||||
},
|
||||
"environment": {
|
||||
"__environment_keys__": {
|
||||
"harmony_20": []
|
||||
|
|
@ -1048,13 +1162,15 @@
|
|||
"executables": {
|
||||
"windows": [],
|
||||
"darwin": [
|
||||
[
|
||||
"/Applications/Toon Boom Harmony 17 Premium/Harmony Premium.app/Contents/MacOS/Harmony Premium",
|
||||
""
|
||||
]
|
||||
"/Applications/Toon Boom Harmony 17 Premium/Harmony Premium.app/Contents/MacOS/Harmony Premium"
|
||||
],
|
||||
"linux": []
|
||||
},
|
||||
"arguments": {
|
||||
"windows": [],
|
||||
"darwin": [],
|
||||
"linux": []
|
||||
},
|
||||
"environment": {
|
||||
"__environment_keys__": {
|
||||
"harmony_17": []
|
||||
|
|
@ -1084,18 +1200,16 @@
|
|||
"icon": "",
|
||||
"executables": {
|
||||
"windows": [
|
||||
[
|
||||
"C:\\Program Files\\TVPaint Developpement\\TVPaint Animation 11 (64bits)\\TVPaint Animation 11 (64bits).exe",
|
||||
""
|
||||
],
|
||||
[
|
||||
"C:\\Program Files\\TVPaint Developpement\\TVPaint Animation 11 Pro (64bits) (DEMO)\\TVPaint Animation 11 Pro (64bits) (DEMO).exe",
|
||||
""
|
||||
]
|
||||
"C:\\Program Files\\TVPaint Developpement\\TVPaint Animation 11 (64bits)\\TVPaint Animation 11 (64bits).exe"
|
||||
],
|
||||
"darwin": [],
|
||||
"linux": []
|
||||
},
|
||||
"arguments": {
|
||||
"windows": [],
|
||||
"darwin": [],
|
||||
"linux": []
|
||||
},
|
||||
"environment": {
|
||||
"__environment_keys__": {
|
||||
"tvpaint_Animation 11 (64bits)": []
|
||||
|
|
@ -1109,14 +1223,16 @@
|
|||
"icon": "",
|
||||
"executables": {
|
||||
"windows": [
|
||||
[
|
||||
"C:\\Program Files (x86)\\TVPaint Developpement\\TVPaint Animation 11 (32bits)\\TVPaint Animation 11 (32bits).exe",
|
||||
""
|
||||
]
|
||||
"C:\\Program Files (x86)\\TVPaint Developpement\\TVPaint Animation 11 (32bits)\\TVPaint Animation 11 (32bits).exe"
|
||||
],
|
||||
"darwin": [],
|
||||
"linux": []
|
||||
},
|
||||
"arguments": {
|
||||
"windows": [],
|
||||
"darwin": [],
|
||||
"linux": []
|
||||
},
|
||||
"environment": {
|
||||
"__environment_keys__": {
|
||||
"tvpaint_Animation 11 (32bits)": []
|
||||
|
|
@ -1152,14 +1268,16 @@
|
|||
"icon": "",
|
||||
"executables": {
|
||||
"windows": [
|
||||
[
|
||||
"C:\\Program Files\\Adobe\\Adobe Photoshop 2020\\Photoshop.exe",
|
||||
""
|
||||
]
|
||||
"C:\\Program Files\\Adobe\\Adobe Photoshop 2020\\Photoshop.exe"
|
||||
],
|
||||
"darwin": [],
|
||||
"linux": []
|
||||
},
|
||||
"arguments": {
|
||||
"windows": [],
|
||||
"darwin": [],
|
||||
"linux": []
|
||||
},
|
||||
"environment": {
|
||||
"__environment_keys__": {
|
||||
"photoshop_2020": []
|
||||
|
|
@ -1173,14 +1291,16 @@
|
|||
"icon": "",
|
||||
"executables": {
|
||||
"windows": [
|
||||
[
|
||||
"C:\\Program Files\\Adobe\\Adobe Photoshop 2021\\Photoshop.exe",
|
||||
""
|
||||
]
|
||||
"C:\\Program Files\\Adobe\\Adobe Photoshop 2021\\Photoshop.exe"
|
||||
],
|
||||
"darwin": [],
|
||||
"linux": []
|
||||
},
|
||||
"arguments": {
|
||||
"windows": [],
|
||||
"darwin": [],
|
||||
"linux": []
|
||||
},
|
||||
"environment": {
|
||||
"__environment_keys__": {
|
||||
"photoshop_2021": []
|
||||
|
|
@ -1216,14 +1336,16 @@
|
|||
"icon": "",
|
||||
"executables": {
|
||||
"windows": [
|
||||
[
|
||||
"C:\\Program Files\\Adobe\\Adobe After Effects 2020\\Support Files\\AfterFX.exe",
|
||||
""
|
||||
]
|
||||
""
|
||||
],
|
||||
"darwin": [],
|
||||
"linux": []
|
||||
},
|
||||
"arguments": {
|
||||
"windows": [],
|
||||
"darwin": [],
|
||||
"linux": []
|
||||
},
|
||||
"environment": {
|
||||
"__environment_keys__": {
|
||||
"aftereffects_2020": []
|
||||
|
|
@ -1237,14 +1359,16 @@
|
|||
"icon": "",
|
||||
"executables": {
|
||||
"windows": [
|
||||
[
|
||||
"C:\\Program Files\\Adobe\\Adobe After Effects 2021\\Support Files\\AfterFX.exe",
|
||||
""
|
||||
]
|
||||
"C:\\Program Files\\Adobe\\Adobe After Effects 2021\\Support Files\\AfterFX.exe"
|
||||
],
|
||||
"darwin": [],
|
||||
"linux": []
|
||||
},
|
||||
"arguments": {
|
||||
"windows": [],
|
||||
"darwin": [],
|
||||
"linux": []
|
||||
},
|
||||
"environment": {
|
||||
"__environment_keys__": {
|
||||
"aftereffects_2021": []
|
||||
|
|
@ -1272,10 +1396,12 @@
|
|||
"label": "",
|
||||
"variant_label": "Local",
|
||||
"icon": "{}/app_icons/celaction_local.png",
|
||||
"executables": [
|
||||
"",
|
||||
""
|
||||
],
|
||||
"executables": "",
|
||||
"arguments": {
|
||||
"windows": [],
|
||||
"darwin": [],
|
||||
"linux": []
|
||||
},
|
||||
"environment": {
|
||||
"__environment_keys__": {
|
||||
"celation_Local": []
|
||||
|
|
@ -1287,10 +1413,12 @@
|
|||
"label": "",
|
||||
"variant_label": "Pulblish",
|
||||
"icon": "",
|
||||
"executables": [
|
||||
"",
|
||||
""
|
||||
],
|
||||
"executables": "",
|
||||
"arguments": {
|
||||
"windows": [],
|
||||
"darwin": [],
|
||||
"linux": []
|
||||
},
|
||||
"environment": {
|
||||
"__environment_keys__": {
|
||||
"celation_Publish": []
|
||||
|
|
@ -1327,6 +1455,11 @@
|
|||
"darwin": [],
|
||||
"linux": []
|
||||
},
|
||||
"arguments": {
|
||||
"windows": [],
|
||||
"darwin": [],
|
||||
"linux": []
|
||||
},
|
||||
"environment": {
|
||||
"__environment_keys__": {
|
||||
"unreal_4.24": []
|
||||
|
|
@ -1353,6 +1486,11 @@
|
|||
"darwin": [],
|
||||
"linux": []
|
||||
},
|
||||
"arguments": {
|
||||
"windows": [],
|
||||
"darwin": [],
|
||||
"linux": []
|
||||
},
|
||||
"environment": {
|
||||
"__environment_keys__": {
|
||||
"python_Python 3.7": []
|
||||
|
|
@ -1369,6 +1507,11 @@
|
|||
"darwin": [],
|
||||
"linux": []
|
||||
},
|
||||
"arguments": {
|
||||
"windows": [],
|
||||
"darwin": [],
|
||||
"linux": []
|
||||
},
|
||||
"environment": {
|
||||
"__environment_keys__": {
|
||||
"python_Python 2.7": []
|
||||
|
|
@ -1385,6 +1528,11 @@
|
|||
"darwin": [],
|
||||
"linux": []
|
||||
},
|
||||
"arguments": {
|
||||
"windows": [],
|
||||
"darwin": [],
|
||||
"linux": []
|
||||
},
|
||||
"environment": {
|
||||
"__environment_keys__": {
|
||||
"terminal_Terminal": []
|
||||
|
|
@ -1414,6 +1562,11 @@
|
|||
"darwin": [],
|
||||
"linux": []
|
||||
},
|
||||
"arguments": {
|
||||
"windows": [],
|
||||
"darwin": [],
|
||||
"linux": []
|
||||
},
|
||||
"environment": {
|
||||
"__environment_keys__": {
|
||||
"djvview_1.1": []
|
||||
|
|
@ -1422,4 +1575,4 @@
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -374,13 +374,8 @@ class PathInput(InputEntity):
|
|||
schema_types = ["path-input"]
|
||||
|
||||
def _item_initalization(self):
|
||||
self.with_arguments = self.schema_data.get("with_arguments", False)
|
||||
if self.with_arguments:
|
||||
self.valid_value_types = (list, )
|
||||
self.value_on_not_set = ["", ""]
|
||||
else:
|
||||
self.valid_value_types = (STRING_TYPE, )
|
||||
self.value_on_not_set = ""
|
||||
self.valid_value_types = (STRING_TYPE, )
|
||||
self.value_on_not_set = ""
|
||||
|
||||
|
||||
class RawJsonEntity(InputEntity):
|
||||
|
|
@ -388,13 +383,30 @@ class RawJsonEntity(InputEntity):
|
|||
|
||||
def _item_initalization(self):
|
||||
# Schema must define if valid value is dict or list
|
||||
self.valid_value_types = (list, dict)
|
||||
self.value_on_not_set = {}
|
||||
is_list = self.schema_data.get("is_list", False)
|
||||
if is_list:
|
||||
valid_value_types = (list, )
|
||||
value_on_not_set = []
|
||||
else:
|
||||
valid_value_types = (dict, )
|
||||
value_on_not_set = {}
|
||||
|
||||
self._is_list = is_list
|
||||
self.valid_value_types = valid_value_types
|
||||
self.value_on_not_set = value_on_not_set
|
||||
|
||||
self.default_metadata = {}
|
||||
self.studio_override_metadata = {}
|
||||
self.project_override_metadata = {}
|
||||
|
||||
@property
|
||||
def is_list(self):
|
||||
return self._is_list
|
||||
|
||||
@property
|
||||
def is_dict(self):
|
||||
return not self._is_list
|
||||
|
||||
def set(self, value):
|
||||
new_value = self.convert_to_valid_type(value)
|
||||
|
||||
|
|
|
|||
|
|
@ -53,15 +53,13 @@ class PathEntity(ItemEntity):
|
|||
|
||||
self.multiplatform = self.schema_data.get("multiplatform", False)
|
||||
self.multipath = self.schema_data.get("multipath", False)
|
||||
self.with_arguments = self.schema_data.get("with_arguments", False)
|
||||
|
||||
# Create child object
|
||||
if not self.multiplatform and not self.multipath:
|
||||
valid_value_types = (STRING_TYPE, )
|
||||
item_schema = {
|
||||
"type": "path-input",
|
||||
"key": self.key,
|
||||
"with_arguments": self.with_arguments
|
||||
"key": self.key
|
||||
}
|
||||
|
||||
elif not self.multiplatform:
|
||||
|
|
@ -69,10 +67,7 @@ class PathEntity(ItemEntity):
|
|||
item_schema = {
|
||||
"type": "list",
|
||||
"key": self.key,
|
||||
"object_type": {
|
||||
"type": "path-input",
|
||||
"with_arguments": self.with_arguments
|
||||
}
|
||||
"object_type": "path-input"
|
||||
}
|
||||
|
||||
else:
|
||||
|
|
@ -91,13 +86,9 @@ class PathEntity(ItemEntity):
|
|||
}
|
||||
if self.multipath:
|
||||
child_item["type"] = "list"
|
||||
child_item["object_type"] = {
|
||||
"type": "path-input",
|
||||
"with_arguments": self.with_arguments
|
||||
}
|
||||
child_item["object_type"] = "path-input"
|
||||
else:
|
||||
child_item["type"] = "path-input"
|
||||
child_item["with_arguments"] = self.with_arguments
|
||||
|
||||
item_schema["children"].append(child_item)
|
||||
|
||||
|
|
|
|||
|
|
@ -596,7 +596,7 @@ class ProjectSettings(RootEntity):
|
|||
def system_settings_entity(self):
|
||||
output = self._system_settings_entity
|
||||
if output is None:
|
||||
output = SystemSettings()
|
||||
output = SystemSettings(set_studio_state=False)
|
||||
self._system_settings_entity = output
|
||||
|
||||
if self.override_state is OverrideState.DEFAULTS:
|
||||
|
|
|
|||
|
|
@ -235,13 +235,17 @@
|
|||
### raw-json
|
||||
- a little bit enhanced text input for raw json
|
||||
- has validations of json format
|
||||
- empty value is invalid value, always must be at least `{}` of `[]`
|
||||
|
||||
- empty value is invalid value, always must be json serializable
|
||||
- valid value types are list `[]` and dictionary `{}`
|
||||
- schema also defines valid value type
|
||||
- by default it is dictionary
|
||||
- to be able use list it is required to define `is_list` to `true`
|
||||
```
|
||||
{
|
||||
"type": "raw-json",
|
||||
"key": "profiles",
|
||||
"label": "Extract Review profiles"
|
||||
"label": "Extract Review profiles",
|
||||
"is_list": true
|
||||
}
|
||||
```
|
||||
|
||||
|
|
|
|||
|
|
@ -274,7 +274,8 @@
|
|||
{
|
||||
"type": "raw-json",
|
||||
"key": "bake_attributes",
|
||||
"label": "Bake Attributes"
|
||||
"label": "Bake Attributes",
|
||||
"is_list": true
|
||||
}
|
||||
]
|
||||
},
|
||||
|
|
|
|||
|
|
@ -43,8 +43,36 @@
|
|||
"key": "executables",
|
||||
"label": "Executables",
|
||||
"multiplatform": "{multiplatform}",
|
||||
"multipath": "{multipath_executables}",
|
||||
"with_arguments": true
|
||||
"multipath": "{multipath_executables}"
|
||||
},
|
||||
{
|
||||
"type":"separator"
|
||||
},
|
||||
{
|
||||
"type": "dict",
|
||||
"key": "arguments",
|
||||
"label": "Arguments",
|
||||
"use_label_wrap": false,
|
||||
"children": [
|
||||
{
|
||||
"key": "windows",
|
||||
"label": "Windows",
|
||||
"type": "list",
|
||||
"object_type": "text"
|
||||
},
|
||||
{
|
||||
"key": "darwin",
|
||||
"label": "MacOS",
|
||||
"type": "list",
|
||||
"object_type": "text"
|
||||
},
|
||||
{
|
||||
"key": "linux",
|
||||
"label": "Linux",
|
||||
"type": "list",
|
||||
"object_type": "text"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"key": "environment",
|
||||
|
|
|
|||
|
|
@ -56,7 +56,7 @@ class AppVariantWidget(QtWidgets.QWidget):
|
|||
|
||||
for item in studio_executables:
|
||||
path_widget = QtWidgets.QLineEdit(content_widget)
|
||||
path_widget.setText(item.value[0])
|
||||
path_widget.setText(item.value)
|
||||
path_widget.setEnabled(False)
|
||||
content_layout.addWidget(path_widget)
|
||||
|
||||
|
|
|
|||
|
|
@ -366,7 +366,7 @@ class NumberWidget(InputWidget):
|
|||
class RawJsonInput(QtWidgets.QPlainTextEdit):
|
||||
tab_length = 4
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
def __init__(self, valid_type, *args, **kwargs):
|
||||
super(RawJsonInput, self).__init__(*args, **kwargs)
|
||||
self.setObjectName("RawJsonInput")
|
||||
self.setTabStopDistance(
|
||||
|
|
@ -374,6 +374,7 @@ class RawJsonInput(QtWidgets.QPlainTextEdit):
|
|||
self.font()
|
||||
).horizontalAdvance(" ") * self.tab_length
|
||||
)
|
||||
self.valid_type = valid_type
|
||||
|
||||
def sizeHint(self):
|
||||
document = self.document()
|
||||
|
|
@ -403,8 +404,8 @@ class RawJsonInput(QtWidgets.QPlainTextEdit):
|
|||
|
||||
def has_invalid_value(self):
|
||||
try:
|
||||
self.json_value()
|
||||
return False
|
||||
value = self.json_value()
|
||||
return not isinstance(value, self.valid_type)
|
||||
except Exception:
|
||||
return True
|
||||
|
||||
|
|
@ -415,7 +416,11 @@ class RawJsonInput(QtWidgets.QPlainTextEdit):
|
|||
|
||||
class RawJsonWidget(InputWidget):
|
||||
def _add_inputs_to_layout(self):
|
||||
self.input_field = RawJsonInput(self.content_widget)
|
||||
if self.entity.is_list:
|
||||
valid_type = list
|
||||
else:
|
||||
valid_type = dict
|
||||
self.input_field = RawJsonInput(valid_type, self.content_widget)
|
||||
self.input_field.setSizePolicy(
|
||||
QtWidgets.QSizePolicy.Minimum,
|
||||
QtWidgets.QSizePolicy.MinimumExpanding
|
||||
|
|
@ -623,40 +628,21 @@ class PathWidget(BaseWidget):
|
|||
class PathInputWidget(InputWidget):
|
||||
def _add_inputs_to_layout(self):
|
||||
self.input_field = QtWidgets.QLineEdit(self.content_widget)
|
||||
self.args_input_field = None
|
||||
if self.entity.with_arguments:
|
||||
self.input_field.setPlaceholderText("Executable path")
|
||||
self.args_input_field = QtWidgets.QLineEdit(self)
|
||||
self.args_input_field.setPlaceholderText("Arguments")
|
||||
self.input_field.setPlaceholderText("Executable path")
|
||||
|
||||
self.setFocusProxy(self.input_field)
|
||||
self.content_layout.addWidget(self.input_field, 8)
|
||||
self.content_layout.addWidget(self.input_field)
|
||||
self.input_field.textChanged.connect(self._on_value_change)
|
||||
|
||||
if self.args_input_field:
|
||||
self.content_layout.addWidget(self.args_input_field, 2)
|
||||
self.args_input_field.textChanged.connect(self._on_value_change)
|
||||
|
||||
def _on_entity_change(self):
|
||||
if self.entity.value != self.input_value():
|
||||
self.set_entity_value()
|
||||
|
||||
def set_entity_value(self):
|
||||
value = self.entity.value
|
||||
args = ""
|
||||
if isinstance(value, list):
|
||||
value, args = value
|
||||
self.input_field.setText(value)
|
||||
if self.args_input_field:
|
||||
self.args_input_field.setText(args)
|
||||
self.input_field.setText(self.entity.value)
|
||||
|
||||
def input_value(self):
|
||||
path_value = self.input_field.text()
|
||||
if self.entity.with_arguments:
|
||||
value = [path_value, self.args_input_field.text()]
|
||||
else:
|
||||
value = path_value
|
||||
return value
|
||||
return self.input_field.text()
|
||||
|
||||
def _on_value_change(self):
|
||||
if self.ignore_input_changes:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue