Bases: PreLaunchHook
Inject AYON plugins to SpeedTree.
Note that this works in combination whit Speedtree startup script that is creating the environment variable for the AYON Plugin
Hook GlobalHostDataHook
must be executed before this hook.
Source code in client/ayon_speedtree/hooks/ayon_start_up_script.py
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35 | class SpeedtreeStartupScript(PreLaunchHook):
"""Inject AYON plugins to SpeedTree.
Note that this works in combination whit Speedtree startup script that
is creating the environment variable for the AYON Plugin
Hook `GlobalHostDataHook` must be executed before this hook.
"""
app_groups = {"speedtree"}
order = 10
launch_types = {LaunchTypes.local}
def execute(self):
executable_path = self.launch_context.launch_args.pop(0)
self.launch_context.env["SPTREE_EXE"] = executable_path
# Pop rest of launch arguments - There should not be other arguments!
remainders = []
new_launch_args = get_ayon_launcher_args(
"run", get_launch_script_path(), executable_path
)
# Append as whole list as these arguments should not be separated
self.launch_context.launch_args.append(new_launch_args)
if remainders:
self.log.warning((
"There are unexpected launch arguments in Speedtree launch. {}"
).format(str(remainders)))
self.launch_context.launch_args.extend(remainders)
|