Skip to content
This repository has been archived by the owner on Sep 20, 2024. It is now read-only.

Nuke: new creators fixes #4308

Merged
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion openpype/hosts/nuke/api/lib.py
Original file line number Diff line number Diff line change
Expand Up @@ -896,7 +896,9 @@ def get_view_process_node():
ipn_orig = None
for v in nuke.allNodes(filter="Viewer"):
ipn = v['input_process_node'].getValue()
if "VIEWER_INPUT" not in ipn:
if ipn:
if "VIEWER_INPUT" in ipn:
return
jakubjezek001 marked this conversation as resolved.
Show resolved Hide resolved
ipn_orig = nuke.toNode(ipn)
ipn_orig.setSelected(True)

Expand Down
14 changes: 6 additions & 8 deletions openpype/hosts/nuke/api/plugin.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,6 @@
from collections import OrderedDict, defaultdict
from abc import abstractmethod

from openpype.client import (
get_asset_by_name,
get_subsets,
)

from openpype.settings import get_current_project_settings
from openpype.lib import (
BoolDef,
Expand Down Expand Up @@ -98,10 +93,13 @@ def check_existing_subset(self, subset_name, instance_data):
"""Check if existing subset name already exists."""
exists = False
for node in nuke.allNodes(recurseGroups=True):
jakubjezek001 marked this conversation as resolved.
Show resolved Hide resolved
# make sure testing node is having instance knob
jakubjezek001 marked this conversation as resolved.
Show resolved Hide resolved
if INSTANCE_DATA_KNOB not in node.knobs().keys():
continue
node_data = get_node_data(node, INSTANCE_DATA_KNOB)
# test if subset name is matching
jakubjezek001 marked this conversation as resolved.
Show resolved Hide resolved
if subset_name in node_data.get("subset"):
exists = True

return exists

def create_instance_node(
Expand Down Expand Up @@ -316,8 +314,8 @@ def create(self, subset_name, instance_data, 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))
("Subset '{}' is already created "
"in nodes! Change variant name!").format(subset_name))
jakubjezek001 marked this conversation as resolved.
Show resolved Hide resolved

instance_node = self.create_instance_node(
subset_name,
Expand Down
7 changes: 5 additions & 2 deletions openpype/hosts/nuke/plugins/create/create_backdrop.py
Original file line number Diff line number Diff line change
Expand Up @@ -45,8 +45,11 @@ def create_instance_node(
def create(self, subset_name, instance_data, pre_create_data):
if self.check_existing_subset(subset_name, instance_data):
raise NukeCreatorError(
("Subset name '{}' is already used. "
"Please specify different Variant.").format(subset_name))
(
"Subset '{}' is already created "
"in nodes! Change variant name!"
).format(subset_name)
)

instance = super(CreateBackdrop, self).create(
subset_name,
Expand Down
7 changes: 5 additions & 2 deletions openpype/hosts/nuke/plugins/create/create_camera.py
Original file line number Diff line number Diff line change
Expand Up @@ -46,8 +46,11 @@ def create_instance_node(
def create(self, subset_name, instance_data, pre_create_data):
if self.check_existing_subset(subset_name, instance_data):
raise NukeCreatorError(
("Subset name '{}' is already used. "
"Please specify different Variant.").format(subset_name))
(
"Subset '{}' is already created "
"in nodes! Change variant name!"
).format(subset_name)
)

instance = super(CreateCamera, self).create(
subset_name,
Expand Down
7 changes: 5 additions & 2 deletions openpype/hosts/nuke/plugins/create/create_gizmo.py
Original file line number Diff line number Diff line change
Expand Up @@ -47,8 +47,11 @@ def create_instance_node(
def create(self, subset_name, instance_data, pre_create_data):
if self.check_existing_subset(subset_name, instance_data):
raise NukeCreatorError(
("Subset name '{}' is already used. "
"Please specify different Variant.").format(subset_name))
(
"Subset '{}' is already created "
"in nodes! Change variant name!"
).format(subset_name)
)

instance = super(CreateGizmo, self).create(
subset_name,
Expand Down
7 changes: 5 additions & 2 deletions openpype/hosts/nuke/plugins/create/create_model.py
Original file line number Diff line number Diff line change
Expand Up @@ -47,8 +47,11 @@ def create_instance_node(
def create(self, subset_name, instance_data, pre_create_data):
if self.check_existing_subset(subset_name, instance_data):
raise NukeCreatorError(
("Subset name '{}' is already used. "
"Please specify different Variant.").format(subset_name))
(
"Subset '{}' is already created "
"in nodes! Change variant name!"
).format(subset_name)
)

instance = super(CreateModel, self).create(
subset_name,
Expand Down
7 changes: 5 additions & 2 deletions openpype/hosts/nuke/plugins/create/create_source.py
Original file line number Diff line number Diff line change
Expand Up @@ -51,8 +51,11 @@ def create(self, subset_name, instance_data, 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))
(
"Subset '{}' is already created "
"in nodes! Change variant name!"
).format(subset_name)
)

instance_node = self.create_instance_node(
_subset_name,
Expand Down
7 changes: 5 additions & 2 deletions openpype/hosts/nuke/plugins/create/create_write_image.py
Original file line number Diff line number Diff line change
Expand Up @@ -120,8 +120,11 @@ def create(self, subset_name, instance_data, pre_create_data):
# make sure subset name is unique
if self.check_existing_subset(subset_name, instance_data):
raise napi.NukeCreatorError(
("subset {} is already published"
"definition.").format(subset_name))
(
"Subset '{}' is already created "
"in nodes! Change variant name!"
).format(subset_name)
)

instance_node = self.create_instance_node(
subset_name,
Expand Down
7 changes: 5 additions & 2 deletions openpype/hosts/nuke/plugins/create/create_write_prerender.py
Original file line number Diff line number Diff line change
Expand Up @@ -135,8 +135,11 @@ def create(self, subset_name, instance_data, pre_create_data):
# make sure subset name is unique
if self.check_existing_subset(subset_name, instance_data):
raise napi.NukeCreatorError(
("subset {} is already published"
"definition.").format(subset_name))
(
"Subset '{}' is already created "
"in nodes! Change variant name!"
).format(subset_name)
)

instance_node = self.create_instance_node(
subset_name,
Expand Down
7 changes: 5 additions & 2 deletions openpype/hosts/nuke/plugins/create/create_write_render.py
Original file line number Diff line number Diff line change
Expand Up @@ -124,8 +124,11 @@ def create(self, subset_name, instance_data, pre_create_data):
# make sure subset name is unique
if self.check_existing_subset(subset_name, instance_data):
raise napi.NukeCreatorError(
("subset {} is already published"
"definition.").format(subset_name))
(
"Subset '{}' is already created "
"in nodes! Change variant name!"
).format(subset_name)
)

instance_node = self.create_instance_node(
subset_name,
Expand Down
6 changes: 2 additions & 4 deletions openpype/hosts/nuke/plugins/publish/extract_render_local.py
Original file line number Diff line number Diff line change
Expand Up @@ -33,12 +33,10 @@ def process(self, instance):
if x.Class() == "Write":
node = x

self.log.debug("instance collected: {}".format(instance.data))

first_frame = instance.data.get("frameStartHandle", None)

last_frame = instance.data.get("frameEndHandle", None)
node_subset_name = instance.data.get("name", None)
node_subset_name = instance.data["subset"]

self.log.info("Starting render")
self.log.info("Start frame: {}".format(first_frame))
Expand All @@ -65,7 +63,7 @@ def process(self, instance):

# Render frames
nuke.execute(
node_subset_name,
str(node_subset_name),
int(first_frame),
int(last_frame)
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ class ValidateOutputResolution(
order = pyblish.api.ValidatorOrder
optional = True
families = ["render"]
label = "Write Resolution"
label = "Write resolution"
hosts = ["nuke"]
actions = [RepairAction]

Expand Down
1 change: 0 additions & 1 deletion openpype/plugins/publish/collect_from_create_context.py
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,6 @@ def process(self, context):
context.data["projectName"] = project_name

for created_instance in create_context.instances:
self.log.info(f"created_instance:: {created_instance}")
instance_data = created_instance.data_to_store()
if instance_data["active"]:
thumbnail_path = thumbnail_paths_by_instance_id.get(
Expand Down