diff --git a/pype/nuke/lib.py b/pype/nuke/lib.py index 00a264c669..8ef8ccf26f 100644 --- a/pype/nuke/lib.py +++ b/pype/nuke/lib.py @@ -8,7 +8,9 @@ import avalon.nuke import pype.api as pype import nuke -from .templates import ( + + +from .presets import ( get_colorspace_preset, get_node_dataflow_preset, get_node_colorspace_preset @@ -55,7 +57,8 @@ def checkInventoryVersions(): if container: node = container["_node"] - avalon_knob_data = avalon.nuke.get_avalon_knob_data(node) + avalon_knob_data = avalon.nuke.get_avalon_knob_data( + node, ['avalon:', 'ak:']) # get representation from io representation = io.find_one({ @@ -101,7 +104,8 @@ def writes_version_sync(): for each in nuke.allNodes(): if each.Class() == 'Write': - avalon_knob_data = avalon.nuke.get_avalon_knob_data(each) + avalon_knob_data = avalon.nuke.get_avalon_knob_data( + each, ['avalon:', 'ak:']) try: if avalon_knob_data['families'] not in ["render"]: @@ -134,7 +138,8 @@ def get_render_path(node): ''' Generate Render path from presets regarding avalon knob data ''' data = dict() - data['avalon'] = avalon.nuke.get_avalon_knob_data(node) + data['avalon'] = avalon.nuke.get_avalon_knob_data( + node, ['avalon:', 'ak:']) data_preset = { "class": data['avalon']['family'], @@ -827,10 +832,12 @@ def get_write_node_template_attr(node): ''' # get avalon data from node data = dict() - data['avalon'] = avalon.nuke.get_avalon_knob_data(node) + data['avalon'] = avalon.nuke.get_avalon_knob_data( + node, ['avalon:', 'ak:']) data_preset = { "class": data['avalon']['family'], - "preset": data['avalon']['families'] + "families": data['avalon']['families'], + "preset": data['avalon']['families'] # omit < 2.0.0v } # get template data diff --git a/pype/nuke/templates.py b/pype/nuke/presets.py similarity index 75% rename from pype/nuke/templates.py rename to pype/nuke/presets.py index 6434d73f1d..a3f62764c8 100644 --- a/pype/nuke/templates.py +++ b/pype/nuke/presets.py @@ -25,16 +25,22 @@ def get_node_dataflow_preset(**kwarg): log.info(kwarg) host = kwarg.get("host", "nuke") cls = kwarg.get("class", None) - preset = kwarg.get("preset", None) - assert any([host, cls]), log.error("nuke.templates.get_node_dataflow_preset(): \ - Missing mandatory kwargs `host`, `cls`") + families = kwarg.get("families", []) + preset = kwarg.get("preset", None) # omit < 2.0.0v + + assert any([host, cls]), log.error( + "`{}`: Missing mandatory kwargs `host`, `cls`".format(__file__)) nuke_dataflow = get_dataflow_preset().get(str(host), None) nuke_dataflow_nodes = nuke_dataflow.get('nodes', None) nuke_dataflow_node = nuke_dataflow_nodes.get(str(cls), None) - if preset: + if preset: # omit < 2.0.0v nuke_dataflow_node = nuke_dataflow_node.get(str(preset), None) + # omit < 2.0.0v + + for family in families: + nuke_dataflow_node = nuke_dataflow_node.get(str(family), None) log.info("Dataflow: {}".format(nuke_dataflow_node)) return nuke_dataflow_node @@ -47,8 +53,8 @@ def get_node_colorspace_preset(**kwarg): host = kwarg.get("host", "nuke") cls = kwarg.get("class", None) preset = kwarg.get("preset", None) - assert any([host, cls]), log.error("nuke.templates.get_node_colorspace_preset(): \ - Missing mandatory kwargs `host`, `cls`") + assert any([host, cls]), log.error( + "`{}`: Missing mandatory kwargs `host`, `cls`".format(__file__)) nuke_colorspace = get_colorspace_preset().get(str(host), None) nuke_colorspace_node = nuke_colorspace.get(str(cls), None)