nuke: write node validator check __legacy__ type

This commit is contained in:
Jakub Jezek 2022-12-29 15:46:44 +01:00
parent e1f040c9ea
commit 47a31b4491
No known key found for this signature in database
GPG key ID: 730D7C02726179A7
2 changed files with 16 additions and 23 deletions

View file

@ -2371,8 +2371,8 @@ def get_write_node_template_attr(node):
''' Gets all defined data from presets ''' Gets all defined data from presets
''' '''
# TODO: remove this backward compatibility for old settings
# TASK: add identifiers to settings and rename settings key # TODO: add identifiers to settings and rename settings key
plugin_names_mapping = { plugin_names_mapping = {
"create_write_image": "CreateWriteImage", "create_write_image": "CreateWriteImage",
"create_write_prerender": "CreateWritePrerender", "create_write_prerender": "CreateWritePrerender",
@ -2381,25 +2381,14 @@ def get_write_node_template_attr(node):
# get avalon data from node # get avalon data from node
node_data = get_node_data(node, INSTANCE_DATA_KNOB) node_data = get_node_data(node, INSTANCE_DATA_KNOB)
identifier = node_data["creator_identifier"] identifier = node_data["creator_identifier"]
# get template data
nuke_imageio_writes = get_imageio_node_setting( # return template data
return get_imageio_node_setting(
node_class="Write", node_class="Write",
plugin_name=plugin_names_mapping[identifier], plugin_name=plugin_names_mapping[identifier],
subset=node_data["subset"] subset=node_data["subset"]
) )
# collecting solved data
return_data = OrderedDict()
for knob in nuke_imageio_writes["knobs"]:
knob_type = knob["type"]
knob_value = knob["value"]
new_knob_value = convert_knob_value_to_correct_type(
knob_type, knob_value)
return_data[knob["name"]] = new_knob_value
return return_data
def get_dependent_nodes(nodes): def get_dependent_nodes(nodes):
"""Get all dependent nodes connected to the list of nodes. """Get all dependent nodes connected to the list of nodes.

View file

@ -77,22 +77,26 @@ class ValidateNukeWriteNode(
if write_node is None: if write_node is None:
return return
check_knobs = get_write_node_template_attr(write_group_node) correct_data = get_write_node_template_attr(write_group_node)
check = [] check = []
self.log.debug("__ write_node: {}".format( self.log.debug("__ write_node: {}".format(
write_node write_node
)) ))
self.log.debug("__ check_knobs: {}".format( self.log.debug("__ correct_data: {}".format(
check_knobs correct_data
)) ))
for knob_data in check_knobs: for knob_data in correct_data["knobs"]:
knob_type = knob_data["type"]
self.log.debug("__ knob_type: {}".format(
knob_type
))
if ( if (
"type" not in knob_data knob_type == "__legacy__"
or knob_data["type"] == "__legacy__"
): ):
PublishXmlValidationError( raise PublishXmlValidationError(
self, ( self, (
"Please update data in settings 'project_settings" "Please update data in settings 'project_settings"
"/nuke/imageio/nodes/requiredNodes'" "/nuke/imageio/nodes/requiredNodes'"