Bases: PreLaunchHook
Launch arguments preparation.
Hook add python executable and script path to tvpaint implementation before tvpaint executable and add last workfile path to launch arguments.
Existence of last workfile is checked. If workfile does not exists tries to copy templated workfile from predefined path.
Source code in client/ayon_tvpaint/hooks/pre_launch_args.py
5
6
7
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
36
37
38
39
40
41
42 | class TvpaintPrelaunchHook(PreLaunchHook):
"""Launch arguments preparation.
Hook add python executable and script path to tvpaint implementation before
tvpaint executable and add last workfile path to launch arguments.
Existence of last workfile is checked. If workfile does not exists tries
to copy templated workfile from predefined path.
"""
app_groups = {"tvpaint"}
launch_types = {LaunchTypes.local}
def execute(self):
# Pop tvpaint executable
executable_path = self.launch_context.launch_args.pop(0)
# Pop rest of launch arguments - There should not be other arguments!
remainders = []
while self.launch_context.launch_args:
remainders.append(self.launch_context.launch_args.pop(0))
new_launch_args = get_ayon_launcher_args(
"run", self.launch_script_path(), executable_path
)
# Append as whole list as these areguments should not be separated
self.launch_context.launch_args.append(new_launch_args)
if remainders:
self.log.warning((
"There are unexpected launch arguments in TVPaint launch. {}"
).format(str(remainders)))
self.launch_context.launch_args.extend(remainders)
def launch_script_path(self):
from ayon_tvpaint import get_launch_script_path
return get_launch_script_path()
|