From ffb046c0b45743677f8324f09da8c47ced62d858 Mon Sep 17 00:00:00 2001
From: Quentin <quentin@blinkink.co.uk>
Date: Wed, 13 Oct 2021 19:29:03 +0100
Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20added=20Explore=20Image=20sequence?=
 =?UTF-8?q?=20and=20Explore=20Folder?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 TaskPresets/exporter/Blinkink.xml | 210 ------------------------------
 init.py                           |   4 +-
 mini_tools/__init__.py            |   1 +
 mini_tools/main.py                |  16 +++
 mini_tools/menu.py                |   7 +
 5 files changed, 27 insertions(+), 211 deletions(-)
 delete mode 100644 TaskPresets/exporter/Blinkink.xml
 create mode 100644 mini_tools/__init__.py
 create mode 100644 mini_tools/main.py
 create mode 100644 mini_tools/menu.py

diff --git a/TaskPresets/exporter/Blinkink.xml b/TaskPresets/exporter/Blinkink.xml
deleted file mode 100644
index 2fc6dc2..0000000
--- a/TaskPresets/exporter/Blinkink.xml
+++ /dev/null
@@ -1,210 +0,0 @@
-<root presetname="Blinkink" tasktype="hiero.exporters.FnShotProcessor.ShotProcessor">
-    <startFrameIndex valuetype="int">1001</startFrameIndex>
-    <exportRoot valuetype="str">//studio/jobs/INK515_Virgin/EDITS/Main/TRANSCODE/</exportRoot>
-    <versionIndex valuetype="int">2</versionIndex>
-    <cutUseHandles valuetype="bool">False</cutUseHandles>
-    <versionPadding valuetype="int">3</versionPadding>
-    <exportTemplate valuetype="list">
-        <SequenceItem valuetype="tuple">
-            <SequenceItem valuetype="str">{version}/Png/{shot.split(&apos;_&apos;)[0]}/{shot}/{track}/{shot}_{track}_####.{ext}</SequenceItem>
-            <SequenceItem valuetype="hiero.exporters.FnTranscodeExporter.TranscodePreset">
-                <root presetname="hiero.exporters.FnTranscodeExporter.TranscodeExporter" tasktype="hiero.exporters.FnTranscodeExporter.TranscodeExporter">
-                    <bitDepth valuetype="str">24 bit</bitDepth>
-                    <colourspace valuetype="unicode">Look - Alexa 2020 - sRGB</colourspace>
-                    <file_type valuetype="unicode">png</file_type>
-                    <channels valuetype="str">rgb</channels>
-                    <includeAudio valuetype="bool">False</includeAudio>
-                    <useSingleSocket valuetype="bool">False</useSingleSocket>
-                    <numChannels valuetype="str">stereo</numChannels>
-                    <additionalNodesData valuetype="list" />
-                    <includeEffects valuetype="bool">True</includeEffects>
-                    <codec valuetype="str">linear PCM (wav)</codec>
-                    <reformat valuetype="dict">
-                        <filter valuetype="str">Cubic</filter>
-                        <to_type valuetype="str">To Sequence Resolution</to_type>
-                        <scale valuetype="float">1.0</scale>
-                        <center valuetype="bool">True</center>
-                        <resize valuetype="str">width</resize>
-                    </reformat>
-                    <keepNukeScript valuetype="bool">False</keepNukeScript>
-                    <bitRate valuetype="str">320 kbp/s</bitRate>
-                    <method valuetype="str">Blend</method>
-                    <views valuetype="list">
-                        <SequenceItem valuetype="str">all</SequenceItem>
-                    </views>
-                    <burninData valuetype="dict">
-                        <burnIn_bottomRight valuetype="NoneType">None</burnIn_bottomRight>
-                        <burnIn_topLeft valuetype="NoneType">None</burnIn_topLeft>
-                        <burnIn_topMiddle valuetype="NoneType">None</burnIn_topMiddle>
-                        <burnIn_padding valuetype="NoneType">None</burnIn_padding>
-                        <burnIn_topRight valuetype="NoneType">None</burnIn_topRight>
-                        <burnIn_textSize valuetype="NoneType">None</burnIn_textSize>
-                        <burnIn_bottomLeft valuetype="NoneType">None</burnIn_bottomLeft>
-                        <burnIn_bottomMiddle valuetype="NoneType">None</burnIn_bottomMiddle>
-                        <burnIn_font valuetype="NoneType">None</burnIn_font>
-                    </burninData>
-                    <readAllLinesForExport valuetype="bool">False</readAllLinesForExport>
-                    <deleteAudio valuetype="bool">True</deleteAudio>
-                    <png valuetype="dict">
-                        <datatype valuetype="str">8 bit</datatype>
-                    </png>
-                    <burninDataEnabled valuetype="bool">False</burninDataEnabled>
-                    <additionalNodesEnabled valuetype="bool">False</additionalNodesEnabled>
-                    <dpx valuetype="dict">
-                        <datatype valuetype="str">8 bit</datatype>
-                        <transfer valuetype="str">(auto detect)</transfer>
-                        <bigEndian valuetype="bool">True</bigEndian>
-                        <fill valuetype="bool">False</fill>
-                    </dpx>
-                    <writeNodeName valuetype="str">Write_{ext}</writeNodeName>
-                    <sampleRate valuetype="str">44100 Hz</sampleRate>
-                </root>
-            </SequenceItem>
-        </SequenceItem>
-        <SequenceItem valuetype="tuple">
-            <SequenceItem valuetype="str">{version}/Exr/{shot.split(&apos;_&apos;)[0]}/{shot}/{track}/{shot}_{track}_####.{ext}</SequenceItem>
-            <SequenceItem valuetype="hiero.exporters.FnTranscodeExporter.TranscodePreset">
-                <root presetname="hiero.exporters.FnTranscodeExporter.TranscodeExporter" tasktype="hiero.exporters.FnTranscodeExporter.TranscodeExporter">
-                    <bitDepth valuetype="str">24 bit</bitDepth>
-                    <colourspace valuetype="str">default</colourspace>
-                    <includeEffects valuetype="bool">True</includeEffects>
-                    <file_type valuetype="unicode">exr</file_type>
-                    <channels valuetype="unicode">all</channels>
-                    <includeAudio valuetype="bool">False</includeAudio>
-                    <useSingleSocket valuetype="bool">False</useSingleSocket>
-                    <numChannels valuetype="str">stereo</numChannels>
-                    <additionalNodesData valuetype="list" />
-                    <readAllLinesForExport valuetype="bool">False</readAllLinesForExport>
-                    <codec valuetype="str">linear PCM (wav)</codec>
-                    <reformat valuetype="dict">
-                        <scale valuetype="float">1.0</scale>
-                        <center valuetype="bool">True</center>
-                        <to_type valuetype="str">To Sequence Resolution</to_type>
-                        <height valuetype="int">486</height>
-                        <filter valuetype="str">Cubic</filter>
-                        <width valuetype="int">720</width>
-                        <pixelAspect valuetype="float">0.910000026226</pixelAspect>
-                        <resize valuetype="str">width</resize>
-                        <name valuetype="str">NTSC</name>
-                    </reformat>
-                    <keepNukeScript valuetype="bool">False</keepNukeScript>
-                    <bitRate valuetype="str">320 kbp/s</bitRate>
-                    <method valuetype="str">Blend</method>
-                    <views valuetype="list">
-                        <SequenceItem valuetype="str">all</SequenceItem>
-                    </views>
-                    <burninData valuetype="dict">
-                        <burnIn_bottomRight valuetype="NoneType">None</burnIn_bottomRight>
-                        <burnIn_topLeft valuetype="NoneType">None</burnIn_topLeft>
-                        <burnIn_topMiddle valuetype="NoneType">None</burnIn_topMiddle>
-                        <burnIn_padding valuetype="NoneType">None</burnIn_padding>
-                        <burnIn_topRight valuetype="NoneType">None</burnIn_topRight>
-                        <burnIn_textSize valuetype="NoneType">None</burnIn_textSize>
-                        <burnIn_bottomLeft valuetype="NoneType">None</burnIn_bottomLeft>
-                        <burnIn_bottomMiddle valuetype="NoneType">None</burnIn_bottomMiddle>
-                        <burnIn_font valuetype="NoneType">None</burnIn_font>
-                    </burninData>
-                    <deleteAudio valuetype="bool">True</deleteAudio>
-                    <burninDataEnabled valuetype="bool">False</burninDataEnabled>
-                    <additionalNodesEnabled valuetype="bool">False</additionalNodesEnabled>
-                    <dpx valuetype="dict">
-                        <datatype valuetype="str">8 bit</datatype>
-                        <transfer valuetype="str">(auto detect)</transfer>
-                        <bigEndian valuetype="bool">True</bigEndian>
-                        <fill valuetype="bool">False</fill>
-                    </dpx>
-                    <exr valuetype="dict">
-                        <compression valuetype="str">none</compression>
-                        <datatype valuetype="str">16 bit half</datatype>
-                        <noprefix valuetype="bool">False</noprefix>
-                        <write_full_layer_names valuetype="bool">False</write_full_layer_names>
-                        <standard_layer_name_format valuetype="bool">False</standard_layer_name_format>
-                        <interleave valuetype="str">channels, layers and views</interleave>
-                        <dw_compression_level valuetype="float">45.0</dw_compression_level>
-                        <truncateChannelNames valuetype="bool">False</truncateChannelNames>
-                        <write_ACES_compliant_EXR valuetype="bool">False</write_ACES_compliant_EXR>
-                        <metadata valuetype="str">default metadata</metadata>
-                    </exr>
-                    <writeNodeName valuetype="str">Write_{ext}</writeNodeName>
-                    <sampleRate valuetype="str">44100 Hz</sampleRate>
-                </root>
-            </SequenceItem>
-        </SequenceItem>
-        <SequenceItem valuetype="tuple">
-            <SequenceItem valuetype="str">{version}/Exr/{shot.split(&apos;_&apos;)[0]}/{shot}/{track}/{shot}_{track}.{ext}</SequenceItem>
-            <SequenceItem valuetype="hiero.exporters.FnNukeShotExporter.NukeShotPreset">
-                <root presetname="hiero.exporters.FnNukeShotExporter.NukeShotExporter" tasktype="hiero.exporters.FnNukeShotExporter.NukeShotExporter">
-                    <postProcessScript valuetype="bool">True</postProcessScript>
-                    <colourspace valuetype="str">default</colourspace>
-                    <file_type valuetype="unicode">exr</file_type>
-                    <create_directories valuetype="bool">True</create_directories>
-                    <annotationsPreCompPaths valuetype="list" />
-                    <channels valuetype="str">all</channels>
-                    <readPaths valuetype="list" />
-                    <connectTracks valuetype="bool">False</connectTracks>
-                    <collateSequence valuetype="bool">False</collateSequence>
-                    <additionalNodesData valuetype="list" />
-                    <collateShotNames valuetype="bool">False</collateShotNames>
-                    <includeEffects valuetype="bool">True</includeEffects>
-                    <writePaths valuetype="list">
-                        <SequenceItem valuetype="str">{version}/Png/{shot.split(&apos;_&apos;)[0]}/{shot}/{track}/{shot}_{track}_####.{ext}</SequenceItem>
-                    </writePaths>
-                    <reformat valuetype="dict">
-                        <filter valuetype="str">Cubic</filter>
-                        <to_type valuetype="str">Plate Resolution</to_type>
-                        <center valuetype="bool">True</center>
-                        <resize valuetype="str">width</resize>
-                    </reformat>
-                    <method valuetype="str">Blend</method>
-                    <includeAnnotations valuetype="bool">False</includeAnnotations>
-                    <enable valuetype="bool">True</enable>
-                    <views valuetype="list">
-                        <SequenceItem valuetype="str">all</SequenceItem>
-                    </views>
-                    <showAnnotations valuetype="bool">True</showAnnotations>
-                    <collateCustomStart valuetype="bool">True</collateCustomStart>
-                    <burninDataEnabled valuetype="bool">False</burninDataEnabled>
-                    <additionalNodesEnabled valuetype="bool">False</additionalNodesEnabled>
-                    <timelineWriteNode valuetype="str">{version}/Png/{shot.split(&apos;_&apos;)[0]}/{shot}/{track}/{shot}_{track}_####.{ext}</timelineWriteNode>
-                    <burninData valuetype="dict">
-                        <burnIn_bottomRight valuetype="NoneType">None</burnIn_bottomRight>
-                        <burnIn_topLeft valuetype="NoneType">None</burnIn_topLeft>
-                        <burnIn_topMiddle valuetype="NoneType">None</burnIn_topMiddle>
-                        <burnIn_padding valuetype="NoneType">None</burnIn_padding>
-                        <burnIn_topRight valuetype="NoneType">None</burnIn_topRight>
-                        <burnIn_bottomMiddle valuetype="NoneType">None</burnIn_bottomMiddle>
-                        <burnIn_bottomLeft valuetype="NoneType">None</burnIn_bottomLeft>
-                        <burnIn_textSize valuetype="NoneType">None</burnIn_textSize>
-                        <burnIn_font valuetype="NoneType">None</burnIn_font>
-                    </burninData>
-                    <dpx valuetype="dict">
-                        <datatype valuetype="str">8 bit</datatype>
-                        <transfer valuetype="str">(auto detect)</transfer>
-                        <bigEndian valuetype="bool">True</bigEndian>
-                        <fill valuetype="bool">False</fill>
-                    </dpx>
-                    <exr valuetype="dict">
-                        <compression valuetype="str">none</compression>
-                        <datatype valuetype="str">16 bit half</datatype>
-                        <noprefix valuetype="bool">False</noprefix>
-                        <write_full_layer_names valuetype="bool">False</write_full_layer_names>
-                        <standard_layer_name_format valuetype="bool">False</standard_layer_name_format>
-                        <interleave valuetype="str">channels, layers and views</interleave>
-                        <dw_compression_level valuetype="float">45.0</dw_compression_level>
-                        <truncateChannelNames valuetype="bool">False</truncateChannelNames>
-                        <write_ACES_compliant_EXR valuetype="bool">False</write_ACES_compliant_EXR>
-                        <metadata valuetype="str">default metadata</metadata>
-                    </exr>
-                    <writeNodeName valuetype="str">Write_{ext}</writeNodeName>
-                    <collateTracks valuetype="bool">False</collateTracks>
-                </root>
-            </SequenceItem>
-        </SequenceItem>
-    </exportTemplate>
-    <excludeTags valuetype="list" />
-    <includeTags valuetype="list" />
-    <includeRetimes valuetype="bool">False</includeRetimes>
-    <startFrameSource valuetype="str">Custom</startFrameSource>
-    <cutLength valuetype="bool">True</cutLength>
-    <cutHandles valuetype="int">5</cutHandles>
-</root>
diff --git a/init.py b/init.py
index f863ae9..6ed9c07 100644
--- a/init.py
+++ b/init.py
@@ -10,4 +10,6 @@ nuke.pluginAddPath('shot_selector')
 nuke.pluginAddPath('teleport')
 nuke.pluginAddPath('startup')
 nuke.pluginAddPath('heigh_ho')
-nuke.pluginAddPath('menus')
\ No newline at end of file
+nuke.pluginAddPath('menus')
+nuke.pluginAddPath('mini_tools')
+
diff --git a/mini_tools/__init__.py b/mini_tools/__init__.py
new file mode 100644
index 0000000..21ea914
--- /dev/null
+++ b/mini_tools/__init__.py
@@ -0,0 +1 @@
+from main import open_path
\ No newline at end of file
diff --git a/mini_tools/main.py b/mini_tools/main.py
new file mode 100644
index 0000000..150d6a0
--- /dev/null
+++ b/mini_tools/main.py
@@ -0,0 +1,16 @@
+from helpers import main as helpers
+import os
+import nuke
+
+
+def open_path(mode=None):
+    try:
+        node_path = helpers.sanity_path(nuke.selectedNode()["file"].value())
+    except NameError:
+        nuke.message("This node is not supported.")
+        return
+    head, tail = os.path.split(node_path)
+    if mode == "head":
+        node_path = head
+
+    helpers.explore_path(node_path)
\ No newline at end of file
diff --git a/mini_tools/menu.py b/mini_tools/menu.py
new file mode 100644
index 0000000..acd4eb5
--- /dev/null
+++ b/mini_tools/menu.py
@@ -0,0 +1,7 @@
+import nuke
+import mini_tools
+
+toolbar = nuke.menu("Nodes")
+blink_menu = toolbar.addMenu("Inkubator")
+blink_menu.addCommand("File/Explore Image sequence", "mini_tools.open_path()", "ctrl+shift+e")
+blink_menu.addCommand("File/Explore Folder", "mini_tools.open_path(mode='head')")
-- 
GitLab