1
2
3 import os.path
4
5 import nuke
6 import nukescripts
7
8 kCommandField = 'Command:'
9 last_cmd = ''
10
25
26
27
29 """Adds 1 to the _v## at the end of the script name and saves a new
30 version."""
31 root_name = nuke.toNode("root").name()
32 (prefix, v) = nukescripts.version_get(root_name, "v")
33 if v is None: return
34
35 v = int(v)
36 newFileName = nukescripts.version_set(root_name, prefix, v, v + 1)
37
38 newVersionExists = os.path.exists( newFileName )
39 if newVersionExists:
40 message = "The script version \n%s" % newFileName
41 message += "\nalready exists.\nDo you want to overwrite it?"
42 cancelVersionUp = not nuke.ask( message )
43 if cancelVersionUp:
44 return
45
46 nuke.scriptSaveAs(newFileName)
47 if nuke.env['studio']:
48 from hiero.ui.nuke_bridge.nukestudio import addNewScriptVersionToBin
49 addNewScriptVersionToBin(root_name, newFileName)
50
51
53 """ Increments the versioning in the script name and the path of the timeline
54 write nodes, then saves the new version. """
55
56 def _setNodesSelected(nodes, selected):
57 for node in nodes:
58 node.setSelected(selected)
59
60 kTimelineWriteNodeKnobName = "timeline_write_node"
61
62 existingSelection = nuke.selectedNodes()
63 _setNodesSelected(existingSelection, False)
64
65 writeNode = None
66
67
68 timelineWriteNodeKnob = nuke.root().knob(kTimelineWriteNodeKnobName)
69 if timelineWriteNodeKnob is not None:
70 timelineWriteNodeName = timelineWriteNodeKnob.getText()
71 writeNode = nuke.toNode(timelineWriteNodeName)
72 if writeNode is not None:
73 _setNodesSelected([writeNode], True)
74
75
76 nukescripts.version_up()
77 nukescripts.script_version_up()
78
79
80 if writeNode is not None:
81 _setNodesSelected([writeNode], False)
82 _setNodesSelected(existingSelection, True)
83
84
119
120
123
126