♻️ refactor parameter locking

This commit is contained in:
Ondrej Samohel 2022-09-20 19:06:28 +02:00
parent 08ac24080f
commit 71caefe449
No known key found for this signature in database
GPG key ID: 02376E18990A97C6
8 changed files with 23 additions and 27 deletions

View file

@ -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(

View file

@ -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)

View file

@ -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)

View file

@ -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)

View file

@ -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)

View file

@ -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)

View file

@ -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)

View file

@ -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)