From 336d38b21835f02bd04b5a2a4e317d07e5bb94b1 Mon Sep 17 00:00:00 2001 From: MustafaJafar Date: Wed, 19 Jun 2024 20:56:36 +0300 Subject: [PATCH] move get_avalon_container to ayon_houdini.api.pipeline --- .../client/ayon_houdini/api/pipeline.py | 25 ++++++++++++++----- .../ayon_houdini/plugins/load/load_hda.py | 18 +------------ 2 files changed, 20 insertions(+), 23 deletions(-) diff --git a/server_addon/houdini/client/ayon_houdini/api/pipeline.py b/server_addon/houdini/client/ayon_houdini/api/pipeline.py index 6af4993d25..0ca7de23bd 100644 --- a/server_addon/houdini/client/ayon_houdini/api/pipeline.py +++ b/server_addon/houdini/client/ayon_houdini/api/pipeline.py @@ -221,12 +221,8 @@ def containerise(name, """ - # Ensure AVALON_CONTAINERS subnet exists - subnet = hou.node(AVALON_CONTAINERS) - if subnet is None: - obj_network = hou.node("/obj") - subnet = obj_network.createNode("subnet", - node_name="AVALON_CONTAINERS") + # Get AVALON_CONTAINERS subnet + subnet = get_avalon_container() # Create proper container name container_name = "{}_{}".format(name, suffix or "CON") @@ -401,6 +397,23 @@ def on_new(): _enforce_start_frame() +def get_avalon_container(): + path = AVALON_CONTAINERS + avalon_container = hou.node(path) + if not avalon_container: + # Let's create avalon container secretly + # but make sure the pipeline still is built the + # way we anticipate it was built, asserting it. + assert path == "/obj/AVALON_CONTAINERS" + + parent = hou.node("/obj") + avalon_container = parent.createNode( + "subnet", node_name="AVALON_CONTAINERS" + ) + + return avalon_container + + def _set_context_settings(): """Apply the project settings from the project definition diff --git a/server_addon/houdini/client/ayon_houdini/plugins/load/load_hda.py b/server_addon/houdini/client/ayon_houdini/plugins/load/load_hda.py index 2f8d6aae49..d7268da39e 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/load/load_hda.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/load/load_hda.py @@ -12,22 +12,6 @@ from ayon_houdini.api import ( plugin ) -def get_avalon_container(): - path = pipeline.AVALON_CONTAINERS - avalon_container = hou.node(path) - if not avalon_container: - # Let's create avalon container secretly - # but make sure the pipeline still is built the - # way we anticipate it was built, asserting it. - assert path == "/obj/AVALON_CONTAINERS" - - parent = hou.node("/obj") - avalon_container = parent.createNode( - "subnet", node_name="AVALON_CONTAINERS" - ) - - return avalon_container - class HdaLoader(plugin.HoudiniLoader): """Load Houdini Digital Asset file.""" @@ -106,7 +90,7 @@ class HdaLoader(plugin.HoudiniLoader): def _create_dedicated_parent_node(self, hda_def): # Get the root node - parent_node = get_avalon_container() + parent_node = pipeline.get_avalon_container() node = None node_type = None if hda_def.nodeTypeCategory() == hou.objNodeTypeCategory():