instance data is filled with instance asset specific values if are not already available on instance

This commit is contained in:
Jakub Trllo 2022-07-14 12:17:43 +02:00
parent c16a2d6ed5
commit 43d744b24b

View file

@ -51,6 +51,7 @@ class CollectAnatomyInstanceData(pyblish.api.ContextPlugin):
project_name = legacy_io.active_project()
self.fill_missing_asset_docs(context, project_name)
self.fill_instance_data_from_asset(context)
self.fill_latest_versions(context, project_name)
self.fill_anatomy_data(context)
@ -115,6 +116,23 @@ class CollectAnatomyInstanceData(pyblish.api.ContextPlugin):
"Not found asset documents with names \"{}\"."
).format(joined_asset_names))
def fill_instance_data_from_asset(self, context):
for instance in context:
asset_doc = instance.data.get("assetEntity")
if not asset_doc:
continue
asset_data = asset_doc["data"]
for key in (
"fps",
"frameStart",
"frameEnd",
"handleStart",
"handleEnd",
):
if key not in instance.data and key in asset_data:
instance.data[key] = asset_data[key]
def fill_latest_versions(self, context, project_name):
"""Try to find latest version for each instance's subset.