Skip to content

Commit

Permalink
Refactor: Created _containerize_datablocks function to ease _load_lib…
Browse files Browse the repository at this point in the history
…rary_datablocks overrides (#51)
  • Loading branch information
Tilix4 committed May 5, 2023
1 parent 4720be1 commit fadad4a
Showing 1 changed file with 30 additions and 5 deletions.
35 changes: 30 additions & 5 deletions openpype/hosts/blender/api/plugin.py
Original file line number Diff line number Diff line change
Expand Up @@ -790,6 +790,35 @@ def _load_library_datablocks(
else:
outliner_entity = None

# Put into container
container = self._containerize_datablocks(
container_name, datablocks, container=container
)

# Set data to container
container.library = bpy.data.libraries.get(libpath.name)
container.outliner_entity = outliner_entity

return container, datablocks

def _containerize_datablocks(
self,
container_name: str,
datablocks: List[bpy.types.ID],
container: OpenpypeContainer = None,
) -> OpenpypeContainer:
"""Associate datablocks to a container. Create one if needed.
Args:
container_name (str): Name of container to be loaded.
datablocks (List[bpy.types.ID]): Datablocks to filter and link to
container collection
container (OpenpypeContainer): Load into existing container.
Defaults to None.
Returns:
OpenpypeContainer: Created container
"""
if container:
# Add datablocks to container
add_datablocks_to_container(datablocks, container)
Expand All @@ -801,11 +830,7 @@ def _load_library_datablocks(
# Create container if none providen
container = create_container(container_name, datablocks)

# Set data to container
container.library = bpy.data.libraries.get(libpath.name)
container.outliner_entity = outliner_entity

return container, datablocks
return container

def _load_fbx(self, libpath, container_name):
"""Load fbx process."""
Expand Down

0 comments on commit fadad4a

Please sign in to comment.