From a6748223cd3af0aab76b2da7c9a665c311f193e1 Mon Sep 17 00:00:00 2001 From: Jakub Jezek Date: Mon, 15 Jul 2019 11:50:00 +0200 Subject: [PATCH] feat(nk): adding collector and validator for active viewer process --- .../nuke/publish/collect_active_viewer.py | 14 ++++++++++++++ pype/plugins/nuke/publish/extract_review.py | 2 +- .../nuke/publish/validate_active_viewer.py | 18 ++++++++++++++++++ 3 files changed, 33 insertions(+), 1 deletion(-) create mode 100644 pype/plugins/nuke/publish/collect_active_viewer.py create mode 100644 pype/plugins/nuke/publish/validate_active_viewer.py diff --git a/pype/plugins/nuke/publish/collect_active_viewer.py b/pype/plugins/nuke/publish/collect_active_viewer.py new file mode 100644 index 0000000000..3bcc1367f3 --- /dev/null +++ b/pype/plugins/nuke/publish/collect_active_viewer.py @@ -0,0 +1,14 @@ +import pyblish.api +import nuke + + +class CollectActiveViewer(pyblish.api.ContextPlugin): + """Collect any active viewer from nodes + """ + + order = pyblish.api.CollectorOrder + 0.3 + label = "Collect Active Viewer" + hosts = ["nuke"] + + def process(self, context): + context.data["ViewerProcess"] = nuke.ViewerProcess.node() diff --git a/pype/plugins/nuke/publish/extract_review.py b/pype/plugins/nuke/publish/extract_review.py index bdbd3d17a6..fee1a5f4cd 100644 --- a/pype/plugins/nuke/publish/extract_review.py +++ b/pype/plugins/nuke/publish/extract_review.py @@ -140,7 +140,7 @@ class ExtractDataForReview(pype.api.Extractor): previous_node = reformat_node temporary_nodes.append(reformat_node) - viewer_process_node = nuke.ViewerProcess.node() + viewer_process_node = instance.context.data.get("ViewerProcess") dag_node = None if viewer_process_node: dag_node = nuke.createNode(viewer_process_node.Class()) diff --git a/pype/plugins/nuke/publish/validate_active_viewer.py b/pype/plugins/nuke/publish/validate_active_viewer.py new file mode 100644 index 0000000000..bcf7cab6b3 --- /dev/null +++ b/pype/plugins/nuke/publish/validate_active_viewer.py @@ -0,0 +1,18 @@ +import pyblish.api +import nuke + + +class ValidateActiveViewer(pyblish.api.ContextPlugin): + """Validate presentse of the active viewer from nodes + """ + + order = pyblish.api.ValidatorOrder + label = "Validate Active Viewer" + hosts = ["nuke"] + + def process(self, context): + viewer_process_node = context.data.get("ViewerProcess") + + assert viewer_process_node, ( + "Missing active viewer process! Please click on output write node and push key number 1-9" + )