added aftereffects prelaunch hook

This commit is contained in:
iLLiCiTiT 2020-11-25 15:52:15 +01:00
parent 7e68d5b649
commit c77946c181
3 changed files with 45 additions and 13 deletions

View file

@ -0,0 +1,45 @@
import os
from pype.lib import PreLaunchHook
class AfterEffectsPrelaunchHook(PreLaunchHook):
"""Launch arguments preparation.
Hook add python executable and execute python script of AfterEffects
implementation before AfterEffects executable.
"""
hosts = ["aftereffects"]
def execute(self):
# Pop tvpaint executable
photoshop_executable = 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 = [
self.python_executable(),
"-c",
(
"^\"import avalon.aftereffects;"
"avalon.aftereffects.launch(\"{}\")^\"\""
).format(photoshop_executable)
]
# 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 AfterEffects launch. {}"
).format(str(remainders)))
self.launch_context.launch_args.extend(remainders)
def python_executable(self):
"""Should lead to python executable."""
# TODO change in Pype 3
return os.environ["PYPE_PYTHON_EXE"]

View file

@ -28,12 +28,6 @@ class HarmonyPrelaunchHook(PreLaunchHook):
"avalon.harmony.launch(\"{}\")^\"\""
).format(photoshop_executable)
]
# if platform.system().lower() == "windows":
# new_launch_args = [
# "cmd.exe",
# "/k",
# "\"{}\"".format(" ".join(new_launch_args))
# ]
# Append as whole list as these areguments should not be separated
self.launch_context.launch_args.append(new_launch_args)

View file

@ -29,13 +29,6 @@ class PhotoshopPrelaunchHook(PreLaunchHook):
).format(photoshop_executable)
]
# if platform.system().lower() == "windows":
# new_launch_args = [
# "cmd.exe",
# "/k",
# "\"{}\"".format(" ".join(new_launch_args))
# ]
# Append as whole list as these areguments should not be separated
self.launch_context.launch_args.append(new_launch_args)