fixed app and context data fill

This commit is contained in:
Jakub Trllo 2022-02-24 09:55:42 +01:00
parent fc4b7e4573
commit 040688ca62
3 changed files with 24 additions and 23 deletions

View file

@ -2,7 +2,7 @@ from openpype.api import Anatomy
from openpype.lib import (
PreLaunchHook,
EnvironmentPrepData,
prepare_host_environments,
prepare_app_environments,
prepare_context_environments
)
@ -41,8 +41,7 @@ class GlobalHostDataHook(PreLaunchHook):
"log": self.log
})
if app.is_host:
prepare_host_environments(temp_data, self.launch_context.env_group)
prepare_app_environments(temp_data, self.launch_context.env_group)
prepare_context_environments(temp_data)
temp_data.pop("log")

View file

@ -130,7 +130,7 @@ from .applications import (
PostLaunchHook,
EnvironmentPrepData,
prepare_host_environments,
prepare_app_environments,
prepare_context_environments,
get_app_environments_for_context,
apply_project_environments_value
@ -261,7 +261,7 @@ __all__ = [
"PreLaunchHook",
"PostLaunchHook",
"EnvironmentPrepData",
"prepare_host_environments",
"prepare_app_environments",
"prepare_context_environments",
"get_app_environments_for_context",
"apply_project_environments_value",

View file

@ -1295,7 +1295,7 @@ def get_app_environments_for_context(
"env": env
})
prepare_host_environments(data, env_group)
prepare_app_environments(data, env_group)
prepare_context_environments(data, env_group)
# Discard avalon connection
@ -1316,7 +1316,7 @@ def _merge_env(env, current_env):
return result
def prepare_host_environments(data, env_group=None, implementation_envs=True):
def prepare_app_environments(data, env_group=None, implementation_envs=True):
"""Modify launch environments based on launched app and context.
Args:
@ -1474,6 +1474,22 @@ def prepare_context_environments(data, env_group=None):
)
app = data["app"]
context_env = {
"AVALON_PROJECT": project_doc["name"],
"AVALON_ASSET": asset_doc["name"],
"AVALON_TASK": task_name,
"AVALON_APP_NAME": app.full_name
}
log.debug(
"Context environments set:\n{}".format(
json.dumps(context_env, indent=4)
)
)
data["env"].update(context_env)
if not app.is_host:
return
workdir_data = get_workdir_data(
project_doc, asset_doc, task_name, app.host_name
)
@ -1504,22 +1520,8 @@ def prepare_context_environments(data, env_group=None):
"Couldn't create workdir because: {}".format(str(exc))
)
context_env = {
"AVALON_PROJECT": project_doc["name"],
"AVALON_ASSET": asset_doc["name"],
"AVALON_TASK": task_name,
"AVALON_APP_NAME": app.full_name,
"AVALON_WORKDIR": workdir
}
if app.is_host:
context_env["AVALON_APP"]: app.host_name
log.debug(
"Context environments set:\n{}".format(
json.dumps(context_env, indent=4)
)
)
data["env"].update(context_env)
data["env"]["AVALON_APP"] = app.host_name
data["env"]["AVALON_WORKDIR"] = workdir
_prepare_last_workfile(data, workdir)