예제 #1
0
def performCustomAction():
	
	node = nuke.thisNode()
	knob = nuke.thisKnob()

	fileValue = node["file"].getValue()
	renderPath = os.path.dirname(fileValue)

	#reveal in explorer
	if knob.name() == "reveal in explorer":
		if renderPath!="":
			try:
				if platform.system() == "Windows":
					os.startfile(renderPath)
				elif platform.system() == "Darwin":
					subprocess.Popen(["open", renderPath])
				else:
					subprocess.Popen(["xdg-open", renderPath])
			except:
				nuke.message("couldn't open render path. No such directory")
		else:
			nuke.message("Please make sure to set a render path")

	#create next version
	if knob.name() == "create next version":	
		if renderPath != "":
			nukescripts.clear_selection_recursive()
			node.setSelected(True)
			nukescripts.version_up()
			node.setSelected(False)

			fileValue = node["file"].getValue()
			renderPath = os.path.dirname(fileValue)

			if not os.path.isdir(renderPath):
				os.makedirs(renderPath)
				nuke.message("successfully versioned up")
			else:
				nuke.message("Renderfolder '%s' seems to exist" % renderPath)
		else:
			nuke.message("Please make sure to set a render path")

	#force create directory
	if knob.name() == "force create directory":
		if renderPath != "":	
			if not os.path.isdir(renderPath):
				os.makedirs(renderPath)
				nuke.message("successfully created render directory at: \n\n%s" % renderPath)
			else:
				nuke.message("render directory exists")	
		else:
			nuke.message("Please make sure to set a render path")
	
	#save backup
	if knob.name() == "save backup":
		if knob.getValue() == 1.0:
			node["beforeRender"].setValue("nextVersion.saveBackup('%s')" % node.name())
		else:
			node["beforeRender"].setValue("")
예제 #2
0
def updateToLatest(upto):
    for i in nuke.selectedNodes():
        if i.knob('file'):

            for x in range(upto):
                nukescripts.version_up()

            while i.error():
                nukescripts.version_down()
def _script_version_all_up():
  import nuke
  import nukescripts
  for n in nuke.allNodes( 'Write' ):
    n['selected'].setValue ( True )
  nukescripts.version_up()
  nukescripts.script_version_up()
  for n in nuke.allNodes():
    n['selected'].setValue( False )
예제 #4
0
def version_up_mkdir():
    nukescripts.version_up()
    n = nuke.selectedNodes()
    for i in n:
        _class = i.Class()
        if _class == "Write":
            _dirname = os.path.dirname(i.knob("file").value())
            if not os.path.exists(_dirname):
                print "INFO: Making directory %s." % _dirname
                os.makedirs(_dirname)
예제 #5
0
def performCustomAction():	
	node = nuke.thisNode()
	knob = nuke.thisKnob()

	fileValue = node["file"].getValue()
	renderPath = os.path.abspath(fileValue)
	
	#create test folder		
	if knob.name() == "create test folder":
		if renderPath != "":	
			renderPath = os.path.join(renderPath ,'', "test_v1")
			#renderPath = os.path.join(renderPath, "test_v1")
			if os.path.isdir(renderPath):
				nuke.message("test folder already created, please version up")
			else:					
				os.makedirs(renderPath)
				node.knob('file').setValue(renderPath)
				nuke.message("successfully created test directory at: \n\n%s" % renderPath)	
		else:
			nuke.message("please make sure to set a render path")

	#open in finder
	if knob.name() == "open in explorer":
		if renderPath!="":
			try:
				if platform.system() == "Windows":
					os.startfile(renderPath)
				elif platform.system() == "Darwin":
					subprocess.Popen(["open", renderPath])
				else:
					subprocess.Popen(["xdg-open", renderPath])
			except:
				nuke.message("couldn't open render path. No such directory")
		else:
			nuke.message("please make sure to set a render path")		
	
	#create next version
	if knob.name() == "version up":	
		if renderPath != "":
			nukescripts.clear_selection_recursive()
			node.setSelected(True)
			nukescripts.version_up()
			node.setSelected(False)

			fileValue = node["file"].getValue()
			renderPath = os.path.dirname(fileValue)

			if not os.path.isdir(renderPath):
				os.makedirs(renderPath)
				nuke.message("successfully versioned up")
			else:
				nuke.message("please set file path with test_vxx at the end or create a test folder first")
		else:
			nuke.message("please make sure to set a render path")
예제 #6
0
def customSave(mode='save'):
    if mode == 'save':
        nuke.scriptSave("")

    elif mode == 'saveAs':
        nuke.scriptSaveAs("")

    elif mode == "saveNewVersion":
        write_list = [
            write for write in nuke.allNodes('Write') if script_name(
                nuke.filename(write)) == script_name(nuke.scriptName())
        ]
        nukescripts.script_and_write_nodes_version_up()
        if write_list:
            selectedNodes = nuke.selectedNodes()[:]
            nukescripts.clear_selection_recursive()
            for write in write_list:
                write.setSelected(True)
                nukescripts.version_up()
                write.setSelected(False)
            for node in selectedNodes:
                node.setSelected(True)
            nuke.scriptSave("")
예제 #7
0
파일: nextVersion.py 프로젝트: vfxwiki/nuke
def performCustomAction():

    node = nuke.thisNode()
    knob = nuke.thisKnob()

    fileValue = node["file"].getValue()
    renderPath = os.path.dirname(fileValue)

    #reveal in explorer
    if knob.name() == "reveal in explorer":
        if renderPath != "":
            try:
                if platform.system() == "Windows":
                    os.startfile(renderPath)
                elif platform.system() == "Darwin":
                    subprocess.Popen(["open", renderPath])
                else:
                    subprocess.Popen(["xdg-open", renderPath])
            except:
                nuke.message("couldn't open render path. No such directory")
        else:
            nuke.message("Please make sure to set a render path")

    #create next version
    if knob.name() == "create next version":
        if renderPath != "":
            nukescripts.clear_selection_recursive()
            node.setSelected(True)
            nukescripts.version_up()
            node.setSelected(False)

            fileValue = node["file"].getValue()
            renderPath = os.path.dirname(fileValue)

            if not os.path.isdir(renderPath):
                os.makedirs(renderPath)
                nuke.message("successfully versioned up")
            else:
                nuke.message("Renderfolder '%s' seems to exist" % renderPath)
        else:
            nuke.message("Please make sure to set a render path")

    #force create directory
    if knob.name() == "force create directory":
        if renderPath != "":
            if not os.path.isdir(renderPath):
                os.makedirs(renderPath)
                nuke.message(
                    "successfully created render directory at: \n\n%s" %
                    renderPath)
            else:
                nuke.message("render directory exists")
        else:
            nuke.message("Please make sure to set a render path")

    #save backup
    if knob.name() == "save backup":
        if knob.getValue() == 1.0:
            node["beforeRender"].setValue("nextVersion.saveBackup('%s')" %
                                          node.name())
        else:
            node["beforeRender"].setValue("")
예제 #8
0
def versionUp():
	getSelectedNodes()
	nukescripts.version_up()