mirror of
https://github.com/ynput/ayon-core.git
synced 2025-12-24 21:04:40 +01:00
Merge pull request #2186 from Ellipsanime/add-key-parent-asset-in-path-templating
OpenPypeV3: Add key parent asset to path templating construction
This commit is contained in:
commit
3b9db7d43f
5 changed files with 33 additions and 9 deletions
|
|
@ -508,13 +508,18 @@ def get_workdir_data(project_doc, asset_doc, task_name, host_name):
|
|||
Returns:
|
||||
dict: Data prepared for filling workdir template.
|
||||
"""
|
||||
hierarchy = "/".join(asset_doc["data"]["parents"])
|
||||
|
||||
task_type = asset_doc['data']['tasks'].get(task_name, {}).get('type')
|
||||
|
||||
project_task_types = project_doc["config"]["tasks"]
|
||||
task_code = project_task_types.get(task_type, {}).get("short_name")
|
||||
|
||||
asset_parents = asset_doc["data"]["parents"]
|
||||
hierarchy = "/".join(asset_parents)
|
||||
|
||||
parent_name = project_doc["name"]
|
||||
if asset_parents:
|
||||
parent_name = asset_parents[-1]
|
||||
|
||||
data = {
|
||||
"project": {
|
||||
"name": project_doc["name"],
|
||||
|
|
@ -526,6 +531,7 @@ def get_workdir_data(project_doc, asset_doc, task_name, host_name):
|
|||
"short": task_code,
|
||||
},
|
||||
"asset": asset_doc["name"],
|
||||
"parent": parent_name,
|
||||
"app": host_name,
|
||||
"user": getpass.getuser(),
|
||||
"hierarchy": hierarchy,
|
||||
|
|
|
|||
|
|
@ -49,24 +49,27 @@ class CollectAnatomyContextData(pyblish.api.ContextPlugin):
|
|||
project_entity = context.data["projectEntity"]
|
||||
asset_entity = context.data["assetEntity"]
|
||||
|
||||
hierarchy_items = asset_entity["data"]["parents"]
|
||||
hierarchy = ""
|
||||
if hierarchy_items:
|
||||
hierarchy = os.path.join(*hierarchy_items)
|
||||
|
||||
asset_tasks = asset_entity["data"]["tasks"]
|
||||
task_type = asset_tasks.get(task_name, {}).get("type")
|
||||
|
||||
project_task_types = project_entity["config"]["tasks"]
|
||||
task_code = project_task_types.get(task_type, {}).get("short_name")
|
||||
|
||||
asset_parents = asset_entity["data"]["parents"]
|
||||
hierarchy = "/".join(asset_parents)
|
||||
|
||||
parent_name = project_entity["name"]
|
||||
if asset_parents:
|
||||
parent_name = asset_parents[-1]
|
||||
|
||||
context_data = {
|
||||
"project": {
|
||||
"name": project_entity["name"],
|
||||
"code": project_entity["data"].get("code")
|
||||
},
|
||||
"asset": asset_entity["name"],
|
||||
"hierarchy": hierarchy.replace("\\", "/"),
|
||||
"parent": parent_name,
|
||||
"hierarchy": hierarchy,
|
||||
"task": {
|
||||
"name": task_name,
|
||||
"type": task_type,
|
||||
|
|
|
|||
|
|
@ -242,7 +242,11 @@ class CollectAnatomyInstanceData(pyblish.api.ContextPlugin):
|
|||
asset_doc = instance.data.get("assetEntity")
|
||||
if asset_doc and asset_doc["_id"] != context_asset_doc["_id"]:
|
||||
parents = asset_doc["data"].get("parents") or list()
|
||||
parent_name = project_doc["name"]
|
||||
if parents:
|
||||
parent_name = parents[-1]
|
||||
anatomy_updates["hierarchy"] = "/".join(parents)
|
||||
anatomy_updates["parent"] = parent_name
|
||||
|
||||
# Task
|
||||
task_name = instance.data.get("task")
|
||||
|
|
|
|||
|
|
@ -69,12 +69,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")
|
||||
|
|
@ -82,6 +86,11 @@ class NameWindow(QtWidgets.QDialog):
|
|||
project_task_types = project_doc["config"]["tasks"]
|
||||
task_short = project_task_types.get(task_type, {}).get("short_name")
|
||||
|
||||
asset_parents = asset_doc["data"]["parents"]
|
||||
parent_name = project_doc["name"]
|
||||
if asset_parents:
|
||||
parent_name = asset_parents[-1]
|
||||
|
||||
self.data = {
|
||||
"project": {
|
||||
"name": project_doc["name"],
|
||||
|
|
@ -93,6 +102,7 @@ class NameWindow(QtWidgets.QDialog):
|
|||
"type": task_type,
|
||||
"short": task_short,
|
||||
},
|
||||
"parent": parent_name,
|
||||
"version": 1,
|
||||
"user": getpass.getuser(),
|
||||
"comment": "",
|
||||
|
|
|
|||
|
|
@ -60,6 +60,7 @@ We have a few required anatomy templates for OpenPype to work properly, however
|
|||
| `task[name]` | Name of task |
|
||||
| `task[type]` | Type of task |
|
||||
| `task[short]` | Shortname of task |
|
||||
| `parent` | Name of hierarchical parent |
|
||||
| `version` | Version number |
|
||||
| `subset` | Subset name |
|
||||
| `family` | Main family name |
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue