From 040688ca62904847225b9ea8b0c108b28cab9fb2 Mon Sep 17 00:00:00 2001 From: Jakub Trllo Date: Thu, 24 Feb 2022 09:55:42 +0100 Subject: [PATCH] fixed app and context data fill --- openpype/hooks/pre_global_host_data.py | 5 ++-- openpype/lib/__init__.py | 4 +-- openpype/lib/applications.py | 38 ++++++++++++++------------ 3 files changed, 24 insertions(+), 23 deletions(-) diff --git a/openpype/hooks/pre_global_host_data.py b/openpype/hooks/pre_global_host_data.py index 9b82e36171..4c85a511ed 100644 --- a/openpype/hooks/pre_global_host_data.py +++ b/openpype/hooks/pre_global_host_data.py @@ -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") diff --git a/openpype/lib/__init__.py b/openpype/lib/__init__.py index ebe7648ad7..f79c03ed57 100644 --- a/openpype/lib/__init__.py +++ b/openpype/lib/__init__.py @@ -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", diff --git a/openpype/lib/applications.py b/openpype/lib/applications.py index 30e671cfad..0b51a6629c 100644 --- a/openpype/lib/applications.py +++ b/openpype/lib/applications.py @@ -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)