mirror of
https://github.com/ynput/ayon-core.git
synced 2025-12-24 21:04:40 +01:00
nuke: reworking subset name check
This commit is contained in:
parent
371a841258
commit
239c5eae75
9 changed files with 32 additions and 70 deletions
|
|
@ -89,9 +89,17 @@ class NukeCreator(NewCreator):
|
|||
""")
|
||||
node.addKnob(info_knob)
|
||||
|
||||
def check_existing_subset(self, subset_name, instance_data):
|
||||
"""Check if existing subset name already exists."""
|
||||
exists = False
|
||||
def check_existing_subset(self, subset_name):
|
||||
"""Make sure subset name is unique.
|
||||
|
||||
It search within all nodes recursively
|
||||
and checks if subset name is found in
|
||||
any node having instance data knob.
|
||||
|
||||
Arguments:
|
||||
subset_name (str): Subset name
|
||||
"""
|
||||
|
||||
for node in nuke.allNodes(recurseGroups=True):
|
||||
# make sure testing node is having instance knob
|
||||
if INSTANCE_DATA_KNOB not in node.knobs().keys():
|
||||
|
|
@ -104,9 +112,13 @@ class NukeCreator(NewCreator):
|
|||
|
||||
# test if subset name is matching
|
||||
if node_data.get("subset") == subset_name:
|
||||
exists = True
|
||||
|
||||
return exists
|
||||
raise NukeCreatorError(
|
||||
(
|
||||
"A publish instance for '{}' already exists "
|
||||
"in nodes! Please change the variant "
|
||||
"name to ensure unique output."
|
||||
).format(subset_name)
|
||||
)
|
||||
|
||||
def create_instance_node(
|
||||
self,
|
||||
|
|
@ -165,10 +177,7 @@ class NukeCreator(NewCreator):
|
|||
self.set_selected_nodes(pre_create_data)
|
||||
|
||||
# make sure subset name is unique
|
||||
if self.check_existing_subset(subset_name, instance_data):
|
||||
raise NukeCreatorError(
|
||||
("subset {} is already published"
|
||||
"definition.").format(subset_name))
|
||||
self.check_existing_subset(subset_name)
|
||||
|
||||
try:
|
||||
instance_node = self.create_instance_node(
|
||||
|
|
@ -318,10 +327,7 @@ class NukeWriteCreator(NukeCreator):
|
|||
self.set_selected_nodes(pre_create_data)
|
||||
|
||||
# make sure subset name is unique
|
||||
if self.check_existing_subset(subset_name, instance_data):
|
||||
raise NukeCreatorError(
|
||||
("Subset '{}' is already created "
|
||||
"in nodes! Change variant name!").format(subset_name))
|
||||
self.check_existing_subset(subset_name)
|
||||
|
||||
instance_node = self.create_instance_node(
|
||||
subset_name,
|
||||
|
|
|
|||
|
|
@ -43,13 +43,8 @@ class CreateBackdrop(NukeCreator):
|
|||
return created_node
|
||||
|
||||
def create(self, subset_name, instance_data, pre_create_data):
|
||||
if self.check_existing_subset(subset_name, instance_data):
|
||||
raise NukeCreatorError(
|
||||
(
|
||||
"Subset '{}' is already created "
|
||||
"in nodes! Change variant name!"
|
||||
).format(subset_name)
|
||||
)
|
||||
# make sure subset name is unique
|
||||
self.check_existing_subset(subset_name)
|
||||
|
||||
instance = super(CreateBackdrop, self).create(
|
||||
subset_name,
|
||||
|
|
|
|||
|
|
@ -44,13 +44,8 @@ class CreateCamera(NukeCreator):
|
|||
return created_node
|
||||
|
||||
def create(self, subset_name, instance_data, pre_create_data):
|
||||
if self.check_existing_subset(subset_name, instance_data):
|
||||
raise NukeCreatorError(
|
||||
(
|
||||
"Subset '{}' is already created "
|
||||
"in nodes! Change variant name!"
|
||||
).format(subset_name)
|
||||
)
|
||||
# make sure subset name is unique
|
||||
self.check_existing_subset(subset_name)
|
||||
|
||||
instance = super(CreateCamera, self).create(
|
||||
subset_name,
|
||||
|
|
|
|||
|
|
@ -45,13 +45,8 @@ class CreateGizmo(NukeCreator):
|
|||
return created_node
|
||||
|
||||
def create(self, subset_name, instance_data, pre_create_data):
|
||||
if self.check_existing_subset(subset_name, instance_data):
|
||||
raise NukeCreatorError(
|
||||
(
|
||||
"Subset '{}' is already created "
|
||||
"in nodes! Change variant name!"
|
||||
).format(subset_name)
|
||||
)
|
||||
# make sure subset name is unique
|
||||
self.check_existing_subset(subset_name)
|
||||
|
||||
instance = super(CreateGizmo, self).create(
|
||||
subset_name,
|
||||
|
|
|
|||
|
|
@ -45,13 +45,8 @@ class CreateModel(NukeCreator):
|
|||
return created_node
|
||||
|
||||
def create(self, subset_name, instance_data, pre_create_data):
|
||||
if self.check_existing_subset(subset_name, instance_data):
|
||||
raise NukeCreatorError(
|
||||
(
|
||||
"Subset '{}' is already created "
|
||||
"in nodes! Change variant name!"
|
||||
).format(subset_name)
|
||||
)
|
||||
# make sure subset name is unique
|
||||
self.check_existing_subset(subset_name)
|
||||
|
||||
instance = super(CreateModel, self).create(
|
||||
subset_name,
|
||||
|
|
|
|||
|
|
@ -49,13 +49,7 @@ class CreateSource(NukeCreator):
|
|||
_subset_name = subset_name + node_name
|
||||
|
||||
# make sure subset name is unique
|
||||
if self.check_existing_subset(_subset_name, instance_data):
|
||||
raise NukeCreatorError(
|
||||
(
|
||||
"Subset '{}' is already created "
|
||||
"in nodes! Change variant name!"
|
||||
).format(subset_name)
|
||||
)
|
||||
self.check_existing_subset(_subset_name)
|
||||
|
||||
instance_node = self.create_instance_node(
|
||||
_subset_name,
|
||||
|
|
|
|||
|
|
@ -118,13 +118,7 @@ class CreateWriteImage(napi.NukeWriteCreator):
|
|||
self.set_selected_nodes(pre_create_data)
|
||||
|
||||
# make sure subset name is unique
|
||||
if self.check_existing_subset(subset_name, instance_data):
|
||||
raise napi.NukeCreatorError(
|
||||
(
|
||||
"Subset '{}' is already created "
|
||||
"in nodes! Change variant name!"
|
||||
).format(subset_name)
|
||||
)
|
||||
self.check_existing_subset(subset_name)
|
||||
|
||||
instance_node = self.create_instance_node(
|
||||
subset_name,
|
||||
|
|
|
|||
|
|
@ -133,13 +133,7 @@ class CreateWritePrerender(napi.NukeWriteCreator):
|
|||
self.set_selected_nodes(pre_create_data)
|
||||
|
||||
# make sure subset name is unique
|
||||
if self.check_existing_subset(subset_name, instance_data):
|
||||
raise napi.NukeCreatorError(
|
||||
(
|
||||
"Subset '{}' is already created "
|
||||
"in nodes! Change variant name!"
|
||||
).format(subset_name)
|
||||
)
|
||||
self.check_existing_subset(subset_name)
|
||||
|
||||
instance_node = self.create_instance_node(
|
||||
subset_name,
|
||||
|
|
|
|||
|
|
@ -122,13 +122,7 @@ class CreateWriteRender(napi.NukeWriteCreator):
|
|||
self.set_selected_nodes(pre_create_data)
|
||||
|
||||
# make sure subset name is unique
|
||||
if self.check_existing_subset(subset_name, instance_data):
|
||||
raise napi.NukeCreatorError(
|
||||
(
|
||||
"Subset '{}' is already created "
|
||||
"in nodes! Change variant name!"
|
||||
).format(subset_name)
|
||||
)
|
||||
self.check_existing_subset(subset_name)
|
||||
|
||||
instance_node = self.create_instance_node(
|
||||
subset_name,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue