ayon-core/pype/hooks/resolve/prelaunch.py

45 lines
1.2 KiB
Python

import os
import traceback
from pype.lib import PypeHook
from pypeapp import Logger
from pype.resolve import lib as rlib
class ResolvePrelaunch(PypeHook):
"""
This hook will check if current workfile path has Resolve
project inside. IF not, it initialize it and finally it pass
path to the project by environment variable to Premiere launcher
shell script.
"""
def __init__(self, logger=None):
if not logger:
self.log = Logger().get_logger(self.__class__.__name__)
else:
self.log = logger
self.signature = "( {} )".format(self.__class__.__name__)
def execute(self, *args, env: dict = None) -> bool:
if not env:
env = os.environ
env["PRE_PYTHON_SCRIPT"] = os.path.normpath(env["PRE_PYTHON_SCRIPT"])
self.log.info(env["PRE_PYTHON_SCRIPT"])
try:
__import__("pype.resolve")
__import__("pyblish")
except ImportError as e:
print(traceback.format_exc())
print("pyblish: Could not load integration: %s " % e)
else:
# Resolve Setup integration
# importlib.reload(prlib)
rlib.setup(env)
return True