From fbb9d3e23279b6725a3d326ca1a93928c53cdedd Mon Sep 17 00:00:00 2001 From: "clement.hector" Date: Mon, 22 Nov 2021 13:58:51 +0100 Subject: [PATCH] Add parent asset in anatomy --- openpype/lib/avalon_context.py | 5 +++++ .../plugins/publish/collect_anatomy_context_data.py | 5 +++++ openpype/tools/workfiles/app.py | 11 ++++++++++- 3 files changed, 20 insertions(+), 1 deletion(-) diff --git a/openpype/lib/avalon_context.py b/openpype/lib/avalon_context.py index 372e116f43..581e4b9dbd 100644 --- a/openpype/lib/avalon_context.py +++ b/openpype/lib/avalon_context.py @@ -486,6 +486,10 @@ def get_workdir_data(project_doc, asset_doc, task_name, host_name): project_task_types = project_doc["config"]["tasks"] task_code = project_task_types.get(task_type, {}).get("short_name") + parent = project_doc["name"] + if len(asset_doc["data"]["parents"]) != 0: + parent = asset_doc["data"]["parents"][-1] + data = { "project": { "name": project_doc["name"], @@ -497,6 +501,7 @@ def get_workdir_data(project_doc, asset_doc, task_name, host_name): "short": task_code, }, "asset": asset_doc["name"], + "parent": parent, "app": host_name, "user": getpass.getuser(), "hierarchy": hierarchy, diff --git a/openpype/plugins/publish/collect_anatomy_context_data.py b/openpype/plugins/publish/collect_anatomy_context_data.py index 6b95979b76..b0c9eea576 100644 --- a/openpype/plugins/publish/collect_anatomy_context_data.py +++ b/openpype/plugins/publish/collect_anatomy_context_data.py @@ -60,12 +60,17 @@ class CollectAnatomyContextData(pyblish.api.ContextPlugin): project_task_types = project_entity["config"]["tasks"] task_code = project_task_types.get(task_type, {}).get("short_name") + parent = project_entity["name"] + if len(asset_entity["data"]["parents"]) != 0: + parent = asset_entity["data"]["parents"][-1] + context_data = { "project": { "name": project_entity["name"], "code": project_entity["data"].get("code") }, "asset": asset_entity["name"], + "parent": parent, "hierarchy": hierarchy.replace("\\", "/"), "task": { "name": task_name, diff --git a/openpype/tools/workfiles/app.py b/openpype/tools/workfiles/app.py index a4b1717a1c..4253f7450a 100644 --- a/openpype/tools/workfiles/app.py +++ b/openpype/tools/workfiles/app.py @@ -68,12 +68,16 @@ class NameWindow(QtWidgets.QDialog): "config.tasks": True, } ) + asset_doc = io.find_one( { "type": "asset", "name": asset_name }, - {"data.tasks": True} + { + "data.tasks": True, + "data.parents": True + } ) task_type = asset_doc["data"]["tasks"].get(task_name, {}).get("type") @@ -81,6 +85,10 @@ class NameWindow(QtWidgets.QDialog): project_task_types = project_doc["config"]["tasks"] task_short = project_task_types.get(task_type, {}).get("short_name") + parent = project_doc["name"] + if len(asset_doc["data"]["parents"]) != 0: + parent = asset_doc["data"]["parents"][-1] + self.data = { "project": { "name": project_doc["name"], @@ -92,6 +100,7 @@ class NameWindow(QtWidgets.QDialog): "type": task_type, "short": task_short, }, + "parent": parent, "version": 1, "user": getpass.getuser(), "comment": "",