From 6b47d5085cf79797e070e1a4f8eda6976a303bd3 Mon Sep 17 00:00:00 2001 From: Jakub Jezek Date: Wed, 2 Feb 2022 13:16:06 +0100 Subject: [PATCH] nuke: adding clear button to write nodes --- openpype/hosts/nuke/api/lib.py | 15 ++++++++++++++- openpype/hosts/nuke/startup/clear_rendered.py | 11 +++++++++++ 2 files changed, 25 insertions(+), 1 deletion(-) create mode 100644 openpype/hosts/nuke/startup/clear_rendered.py diff --git a/openpype/hosts/nuke/api/lib.py b/openpype/hosts/nuke/api/lib.py index 26dab9a2bc..15cbb2dd62 100644 --- a/openpype/hosts/nuke/api/lib.py +++ b/openpype/hosts/nuke/api/lib.py @@ -753,7 +753,7 @@ def script_name(): def add_button_write_to_read(node): name = "createReadNode" - label = "Create Read From Rendered" + label = "Read From Rendered" value = "import write_to_read;\ write_to_read.write_to_read(nuke.thisNode(), allow_relative=False)" knob = nuke.PyScript_Knob(name, label, value) @@ -761,6 +761,16 @@ def add_button_write_to_read(node): node.addKnob(knob) + +def add_button_clear_rendered(node, path): + name = "clearRendered" + label = "Clear Rendered" + value = "import clear_rendered;\ + clear_rendered.clear_rendered(\"{}\")".format(path) + knob = nuke.PyScript_Knob(name, label, value) + node.addKnob(knob) + + def create_write_node(name, data, input=None, prenodes=None, review=True, linked_knobs=None, farm=True): ''' Creating write node which is group node @@ -988,6 +998,9 @@ def create_write_node(name, data, input=None, prenodes=None, # adding write to read button add_button_write_to_read(GN) + # adding write to read button + add_button_clear_rendered(GN, os.path.dirname(fpath)) + # Deadline tab. add_deadline_tab(GN) diff --git a/openpype/hosts/nuke/startup/clear_rendered.py b/openpype/hosts/nuke/startup/clear_rendered.py new file mode 100644 index 0000000000..cf1d8ce170 --- /dev/null +++ b/openpype/hosts/nuke/startup/clear_rendered.py @@ -0,0 +1,11 @@ +import os + +from openpype.api import Logger +log = Logger().get_logger(__name__) + + +def clear_rendered(dir_path): + for _f in os.listdir(dir_path): + _f_path = os.path.join(dir_path, _f) + log.info("Removing: `{}`".format(_f_path)) + os.remove(_f_path)