mirror of
https://github.com/ynput/ayon-core.git
synced 2025-12-26 05:42:15 +01:00
♻️ refactor parameter locking
This commit is contained in:
parent
08ac24080f
commit
71caefe449
8 changed files with 23 additions and 27 deletions
|
|
@ -150,6 +150,21 @@ class HoudiniCreator(NewCreator):
|
|||
OpenPypeCreatorError("Creator error: {}".format(er)),
|
||||
sys.exc_info()[2])
|
||||
|
||||
def lock_parameters(self, node, parameters):
|
||||
"""Lock list of specified parameters on the node.
|
||||
|
||||
Args:
|
||||
node (hou.Node): Houdini node to lock parameters on.
|
||||
parameters (list of str): List of parameter names.
|
||||
|
||||
"""
|
||||
for name in parameters:
|
||||
try:
|
||||
parm = node.parm(name)
|
||||
parm.lock(True)
|
||||
except AttributeError:
|
||||
self.log.debug("missing lock pattern {}".format(name))
|
||||
|
||||
def collect_instances(self):
|
||||
for instance in list_instances(creator_id=self.identifier):
|
||||
created_instance = CreatedInstance.from_existing(
|
||||
|
|
|
|||
|
|
@ -49,6 +49,4 @@ class CreateArnoldAss(plugin.HoudiniCreator):
|
|||
|
||||
# Lock any parameters in this list
|
||||
to_lock = ["ar_ass_export_enable", "family", "id"]
|
||||
for name in to_lock:
|
||||
parm = instance_node.parm(name)
|
||||
parm.lock(True)
|
||||
self.lock_parameters(instance_node, to_lock)
|
||||
|
|
|
|||
|
|
@ -13,8 +13,7 @@ class CreateCompositeSequence(plugin.HoudiniCreator):
|
|||
icon = "gears"
|
||||
|
||||
def create(self, subset_name, instance_data, pre_create_data):
|
||||
import hou
|
||||
from pprint import pformat
|
||||
import hou # noqa
|
||||
|
||||
instance_data.pop("active", None)
|
||||
instance_data.update({"node_type": "comp"})
|
||||
|
|
@ -24,10 +23,7 @@ class CreateCompositeSequence(plugin.HoudiniCreator):
|
|||
instance_data,
|
||||
pre_create_data) # type: CreatedInstance
|
||||
|
||||
self.log.info(pformat(instance))
|
||||
print(pformat(instance))
|
||||
instance_node = hou.node(instance.get("instance_node"))
|
||||
|
||||
filepath = "$HIP/pyblish/{}.$F4.exr".format(subset_name)
|
||||
parms = {
|
||||
"copoutput": filepath
|
||||
|
|
@ -37,7 +33,4 @@ class CreateCompositeSequence(plugin.HoudiniCreator):
|
|||
|
||||
# Lock any parameters in this list
|
||||
to_lock = ["prim_to_detail_pattern"]
|
||||
for name in to_lock:
|
||||
parm = instance_node.parm(name)
|
||||
parm.lock(True)
|
||||
|
||||
self.lock_parameters(instance_node, to_lock)
|
||||
|
|
|
|||
|
|
@ -41,6 +41,4 @@ class CreatePointCache(plugin.HoudiniCreator):
|
|||
|
||||
# Lock any parameters in this list
|
||||
to_lock = ["prim_to_detail_pattern"]
|
||||
for name in to_lock:
|
||||
parm = instance_node.parm(name)
|
||||
parm.lock(True)
|
||||
self.lock_parameters(instance_node, to_lock)
|
||||
|
|
|
|||
|
|
@ -43,6 +43,4 @@ class CreateRedshiftProxy(plugin.HoudiniCreator):
|
|||
|
||||
# Lock some Avalon attributes
|
||||
to_lock = ["family", "id", "prim_to_detail_pattern"]
|
||||
for name in to_lock:
|
||||
parm = instance_node.parm(name)
|
||||
parm.lock(True)
|
||||
self.lock_parameters(instance_node, to_lock)
|
||||
|
|
|
|||
|
|
@ -65,6 +65,4 @@ class CreateRedshiftROP(plugin.HoudiniCreator):
|
|||
|
||||
# Lock some Avalon attributes
|
||||
to_lock = ["family", "id"]
|
||||
for name in to_lock:
|
||||
parm = instance_node.parm(name)
|
||||
parm.lock(True)
|
||||
self.lock_parameters(instance_node, to_lock)
|
||||
|
|
|
|||
|
|
@ -42,6 +42,4 @@ class CreateUSD(plugin.HoudiniCreator):
|
|||
"family",
|
||||
"id",
|
||||
]
|
||||
for name in to_lock:
|
||||
parm = instance_node.parm(name)
|
||||
parm.lock(True)
|
||||
self.lock_parameters(instance_node, to_lock)
|
||||
|
|
|
|||
|
|
@ -38,6 +38,4 @@ class CreateUSDRender(plugin.HoudiniCreator):
|
|||
|
||||
# Lock some Avalon attributes
|
||||
to_lock = ["family", "id"]
|
||||
for name in to_lock:
|
||||
parm = instance_node.parm(name)
|
||||
parm.lock(True)
|
||||
self.lock_parameters(instance_node, to_lock)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue