From acde01d7ef556aff280de7ed04dfd3c87a977ad5 Mon Sep 17 00:00:00 2001 From: iLLiCiTiT Date: Fri, 19 Nov 2021 15:28:29 +0100 Subject: [PATCH 1/2] added 'get_workfir_data' to openpype api --- openpype/api.py | 1 + openpype/lib/avalon_context.py | 1 + 2 files changed, 2 insertions(+) diff --git a/openpype/api.py b/openpype/api.py index e4bbb104a3a..a6529202ff2 100644 --- a/openpype/api.py +++ b/openpype/api.py @@ -17,6 +17,7 @@ version_up, get_asset, get_hierarchy, + get_workdir_data, get_version_from_path, get_last_version_from_path, get_app_environments_for_context, diff --git a/openpype/lib/avalon_context.py b/openpype/lib/avalon_context.py index dd9e8b2ab86..372e116f437 100644 --- a/openpype/lib/avalon_context.py +++ b/openpype/lib/avalon_context.py @@ -465,6 +465,7 @@ def get_workfile_template_key( return default +# TODO rename function as is not just "work" specific def get_workdir_data(project_doc, asset_doc, task_name, host_name): """Prepare data for workdir template filling from entered information. From 5d8c3d4c710e5826095ab6723faddd308d192156 Mon Sep 17 00:00:00 2001 From: iLLiCiTiT Date: Fri, 19 Nov 2021 15:28:48 +0100 Subject: [PATCH 2/2] use get_workdir_data in nuke format anatomy to get context data --- openpype/hosts/nuke/api/lib.py | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/openpype/hosts/nuke/api/lib.py b/openpype/hosts/nuke/api/lib.py index a321e576ee0..f4c3a55c2b6 100644 --- a/openpype/hosts/nuke/api/lib.py +++ b/openpype/hosts/nuke/api/lib.py @@ -18,7 +18,7 @@ BuildWorkfile, get_version_from_path, get_anatomy_settings, - get_hierarchy, + get_workdir_data, get_asset, get_current_project_settings, ApplicationManager @@ -268,15 +268,21 @@ def format_anatomy(data): if not version: file = script_name() data["version"] = get_version_from_path(file) - project_document = io.find_one({"type": "project"}) + + project_doc = io.find_one({"type": "project"}) + asset_doc = io.find_one({ + "type": "asset", + "name": data["avalon"]["asset"] + }) + task_name = os.environ["AVALON_TASK"] + host_name = os.environ["AVALON_APP"] + context_data = get_workdir_data( + project_doc, asset_doc, task_name, host_name + ) + data.update(context_data) data.update({ "subset": data["avalon"]["subset"], - "asset": data["avalon"]["asset"], - "task": os.environ["AVALON_TASK"], "family": data["avalon"]["family"], - "project": {"name": project_document["name"], - "code": project_document["data"].get("code", '')}, - "hierarchy": get_hierarchy(), "frame": "#" * padding, }) return anatomy.format(data)