Merge pull request #4755 from ynput/bugfix/OP-5377_Nuke-prerender-create-reviewable-attribute-is-broken

This commit is contained in:
Jakub Ježek 2023-04-05 14:49:46 +02:00 committed by GitHub
commit 324fe8b64c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 17 additions and 23 deletions

View file

@ -208,6 +208,12 @@ class NukeCreator(NewCreator):
def collect_instances(self):
cached_instances = _collect_and_cache_nodes(self)
attr_def_keys = {
attr_def.key
for attr_def in self.get_instance_attr_defs()
}
attr_def_keys.discard(None)
for (node, data) in cached_instances[self.identifier]:
created_instance = CreatedInstance.from_existing(
data, self
@ -215,6 +221,12 @@ class NukeCreator(NewCreator):
created_instance.transient_data["node"] = node
self._add_instance_to_context(created_instance)
for key in (
set(created_instance["creator_attributes"].keys())
- attr_def_keys
):
created_instance["creator_attributes"].pop(key)
def update_instances(self, update_list):
for created_inst, _changes in update_list:
instance_node = created_inst.transient_data["node"]
@ -301,8 +313,11 @@ class NukeWriteCreator(NukeCreator):
def get_instance_attr_defs(self):
attr_defs = [
self._get_render_target_enum(),
self._get_reviewable_bool()
]
# add reviewable attribute
if "reviewable" in self.instance_attributes:
attr_defs.append(self._get_reviewable_bool())
return attr_defs
def _get_render_target_enum(self):
@ -322,7 +337,7 @@ class NukeWriteCreator(NukeCreator):
def _get_reviewable_bool(self):
return BoolDef(
"review",
default=("reviewable" in self.instance_attributes),
default=True,
label="Review"
)

View file

@ -63,13 +63,6 @@ class CreateWriteImage(napi.NukeWriteCreator):
default=nuke.frame()
)
def get_instance_attr_defs(self):
attr_defs = [
self._get_render_target_enum(),
self._get_reviewable_bool()
]
return attr_defs
def create_instance_node(self, subset_name, instance_data):
linked_knobs_ = []
if "use_range_limit" in self.instance_attributes:

View file

@ -41,13 +41,6 @@ class CreateWritePrerender(napi.NukeWriteCreator):
]
return attr_defs
def get_instance_attr_defs(self):
attr_defs = [
self._get_render_target_enum(),
self._get_reviewable_bool()
]
return attr_defs
def create_instance_node(self, subset_name, instance_data):
linked_knobs_ = []
if "use_range_limit" in self.instance_attributes:

View file

@ -38,13 +38,6 @@ class CreateWriteRender(napi.NukeWriteCreator):
]
return attr_defs
def get_instance_attr_defs(self):
attr_defs = [
self._get_render_target_enum(),
self._get_reviewable_bool()
]
return attr_defs
def create_instance_node(self, subset_name, instance_data):
# add fpath_template
write_data = {