mirror of
https://github.com/ynput/ayon-core.git
synced 2025-12-25 05:14:40 +01:00
Add set_instance_data method to reduce redundancy
This commit is contained in:
parent
c614522b4c
commit
62fa330417
6 changed files with 34 additions and 63 deletions
|
|
@ -217,7 +217,7 @@ class BaseCreator(Creator):
|
|||
|
||||
Args:
|
||||
subset_name(str): Subset name of created instance.
|
||||
instance_data(dict): Base data for instance.
|
||||
instance_data(dict): Instance base data.
|
||||
pre_create_data(dict): Data based on pre creation attributes.
|
||||
Those may affect how creator works.
|
||||
"""
|
||||
|
|
@ -237,17 +237,7 @@ class BaseCreator(Creator):
|
|||
"name": collection.name,
|
||||
}
|
||||
|
||||
# Set instance data
|
||||
instance_data.update(
|
||||
{
|
||||
"id": "pyblish.avalon.instance",
|
||||
"creator_identifier": self.identifier,
|
||||
"label": subset_name,
|
||||
"task": get_current_task_name(),
|
||||
"subset": subset_name,
|
||||
"instance_node": instance_node,
|
||||
}
|
||||
)
|
||||
self.set_instance_data(subset_name, instance_data, instance_node)
|
||||
|
||||
self._add_instance_to_context(
|
||||
CreatedInstance(
|
||||
|
|
@ -326,6 +316,33 @@ class BaseCreator(Creator):
|
|||
|
||||
self._remove_instance_from_context(instance)
|
||||
|
||||
def set_instance_data(
|
||||
self,
|
||||
subset_name: str,
|
||||
instance_data: dict,
|
||||
instance_node: bpy.types.ID,
|
||||
):
|
||||
"""Fill instance data with required items.
|
||||
|
||||
Args:
|
||||
subset_name(str): Subset name of created instance.
|
||||
instance_data(dict): Instance base data.
|
||||
instance_node(bpy.types.ID): Instance node in blender scene.
|
||||
"""
|
||||
if not instance_data:
|
||||
instance_data = {}
|
||||
|
||||
instance_data.update(
|
||||
{
|
||||
"id": "pyblish.avalon.instance",
|
||||
"creator_identifier": self.identifier,
|
||||
"label": subset_name,
|
||||
"task": get_current_task_name(),
|
||||
"subset": subset_name,
|
||||
"instance_node": instance_node,
|
||||
}
|
||||
)
|
||||
|
||||
|
||||
class Loader(LoaderPlugin):
|
||||
"""Base class for Loader plug-ins."""
|
||||
|
|
|
|||
|
|
@ -47,17 +47,7 @@ class CreateBlendScene(plugin.Creator):
|
|||
"name": asset_group.name
|
||||
}
|
||||
|
||||
instance_data.update(
|
||||
{
|
||||
"id": "publish.avalon.instance",
|
||||
"creator_identifier": self.identifier,
|
||||
"label": subset_name,
|
||||
"task": get_current_task_name(),
|
||||
"subset": subset_name,
|
||||
"instance_node": instance_node,
|
||||
}
|
||||
)
|
||||
|
||||
self.set_instance_data(subset_name, instance_data, instance_node)
|
||||
lib.imprint(asset_group, instance_data)
|
||||
|
||||
# Add selected objects to instance
|
||||
|
|
|
|||
|
|
@ -52,16 +52,7 @@ class CreateCamera(plugin.BaseCreator):
|
|||
"name": asset_group.name,
|
||||
}
|
||||
|
||||
instance_data.update(
|
||||
{
|
||||
"id": "pyblish.avalon.instance",
|
||||
"creator_identifier": self.identifier,
|
||||
"label": subset_name,
|
||||
"task": get_current_task_name(),
|
||||
"subset": subset_name,
|
||||
"instance_node": instance_node,
|
||||
}
|
||||
)
|
||||
self.set_instance_data(subset_name, instance_data, instance_node)
|
||||
lib.imprint(asset_group, instance_data)
|
||||
|
||||
if pre_create_data.get("useSelection"):
|
||||
|
|
|
|||
|
|
@ -51,16 +51,7 @@ class CreateLayout(plugin.BaseCreator):
|
|||
"name": asset_group.name,
|
||||
}
|
||||
|
||||
instance_data.update(
|
||||
{
|
||||
"id": "pyblish.avalon.instance",
|
||||
"creator_identifier": self.identifier,
|
||||
"label": subset_name,
|
||||
"task": get_current_task_name(),
|
||||
"subset": subset_name,
|
||||
"instance_node": instance_node,
|
||||
}
|
||||
)
|
||||
self.set_instance_data(subset_name, instance_data, instance_node)
|
||||
lib.imprint(asset_group, instance_data)
|
||||
|
||||
# Add selected objects to instance
|
||||
|
|
|
|||
|
|
@ -51,16 +51,7 @@ class CreateModel(plugin.BaseCreator):
|
|||
"name": asset_group.name,
|
||||
}
|
||||
|
||||
instance_data.update(
|
||||
{
|
||||
"id": "pyblish.avalon.instance",
|
||||
"creator_identifier": self.identifier,
|
||||
"label": subset_name,
|
||||
"task": get_current_task_name(),
|
||||
"subset": subset_name,
|
||||
"instance_node": instance_node,
|
||||
}
|
||||
)
|
||||
self.set_instance_data(subset_name, instance_data, instance_node)
|
||||
lib.imprint(asset_group, instance_data)
|
||||
|
||||
# Add selected objects to instance
|
||||
|
|
|
|||
|
|
@ -51,16 +51,7 @@ class CreateRig(plugin.BaseCreator):
|
|||
"name": asset_group.name,
|
||||
}
|
||||
|
||||
instance_data.update(
|
||||
{
|
||||
"id": "pyblish.avalon.instance",
|
||||
"creator_identifier": self.identifier,
|
||||
"label": subset_name,
|
||||
"task": get_current_task_name(),
|
||||
"subset": subset_name,
|
||||
"instance_node": instance_node,
|
||||
}
|
||||
)
|
||||
self.set_instance_data(subset_name, instance_data, instance_node)
|
||||
lib.imprint(asset_group, instance_data)
|
||||
|
||||
# Add selected objects to instance
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue