Beispiel #1
0
    def __init__(self, scenefile, parent=None):
        QDialog.__init__(self, parent)
        self.setupUi(self)
        self.scenefile = scenefile

        self.engineCombo.addItem("10.0.99.20")
        # read nuke
        nk = nuke.open(self.scenefile.pathname2())
        self.info = nk.script_test()
        if self.info is None:
            QMessageBox.critical(self, "Error", "No Write Node")
            pass
        else:

            writeNodes = self.info.keys()
            writeNodes.pop(writeNodes.index("Root"))
            self.writeCombo.addItems(writeNodes)

            try:
                first = self.info["Root"]["first_frame"]
            except:
                first = "1"
            try:
                last = self.info["Root"]["last_frame"]
            except:
                last = "100"

            self.frameRangeLineEdit.setText("%s-%s" % (first, last))
            self.packetSpin.setValue(1)

            self.update()

            self.connect(self.writeCombo, SIGNAL("currentIndexChanged(QString)"), self.update)

        self.setWindowTitle("Nuke to Tractor")
Beispiel #2
0
    def on_multisubmit(self):
        if not os.path.exists(TRACTOR):
            QMessageBox.warning(self, "Warning", "Tractor does not exist")
            return

        start = time.time()

        lookup_file = os.path.join(self.lutpath, str(self.lutComboBox.currentText()))

        for scenefile_info in self.sequenceFileList:
            basename = scenefile_info.basename().rsplit(".", 1)[0]
            source = scenefile_info.pathname2()
            location = os.path.dirname(source).rsplit(os.sep, 1)[0]
            destination = os.path.join(location, "%s.mov" % basename)
            tempdir = os.path.join(os.path.dirname(source), ".tmp-%s" % str(start))
            #            print 'basename : ' , basename
            #            print 'source : ' , source
            #            print 'location : ' , location
            #            print 'destination : ', destination
            #            print 'path : ' , scenefile_info._path

            local_mov_file = os.path.join(MACMINI_LOCAL_PATH, "%s.mov" % basename)
            nuke_filename = os.path.join(tempdir, "%s.nk" % basename)
            nuke_filename2 = os.path.join(tempdir, "%s_mov.nk" % basename)
            alfred_filename = os.path.join(tempdir, "%s.alf" % basename)
            movefile = "/bin/mv %s %s" % (local_mov_file, destination)
            proxy_file = os.path.splitext(scenefile_info.filename())[0]
            proxy_file = os.path.join(tempdir, "%s.jpg" % proxy_file)
            extension = os.path.splitext(source)[1][1:]

            nk = nuke.open(NUKE_TEMPLATE_FILE)
            nk.set_source(source)  # change path
            nk.set_slate(self.groupBox.isChecked())
            nk.set_note(self.noteLineEdit.text())
            nk.set_username(str(self.usernameLineEdit.text()))
            nk.set_jobname(self.workcodeLineEdit.text())
            nk.set_status(str(self.statusComboBox.currentText()))
            nk.set_task(self.subjectLineEdit.text())
            nk.set_shotname(self.shotLineEdit.text())
            nk.set_version(self.versionSpinBox.value())
            nk.set_cgi_version(self.cgiVersionSpinBox.value())
            nk.set_lut(self.lutCheckBox.isChecked(), lookup_file)
            nk.set_codec(str(self.codecComboBox.currentText()))
            nk.set_quality(str(self.qualityComboBox.currentText()))
            nk.set_aspect_ratio(self.aspectRatioSpinBox.value())
            nk.set_opacity(str(self.opacitySpinBox.value()))
            nk.set_format(
                str(self.widthSpin.value()),
                str(self.heightSpin.value()),
                str(self.ratioSpin.value()),
                self.short_format,
            )
            nk.set_frame_range(scenefile_info.frame_range())
            nk.set_fps(str(self.fpsComboBox.currentText()))
            nk.set_destination(local_mov_file)
            nk.set_proxy_file(proxy_file)
            nuke_script = nk.script()

            first_frame, last_frame = scenefile_info.frame_range().split("-")
            try:
                os.mkdir(tempdir)
            except:
                pass
            os.chmod(tempdir, 0777)
            f = open(nuke_filename, "w")
            for line in nuke_script:
                f.write(line.encode("utf-8"))
            f.close()
            os.chmod(nuke_filename, 0777)

            if extension == "jpg":
                alfred_script = alfredSubmission(
                    [
                        basename,
                        str(self.usernameLineEdit.text()),
                        "",  # note field
                        first_frame,
                        last_frame,
                        nuke_filename,
                        alfred_filename,
                        nuke_filename,
                        movefile,
                        tempdir,
                    ],
                    self.groupBox.isChecked(),
                )
            else:
                jpg_to_mov_nuke_script = nk.jpg_to_mov_script("template/jpg_to_mov.nk")
                f = open(nuke_filename2, "w")
                for line in jpg_to_mov_nuke_script:
                    f.write(line.encode("utf-8"))
                f.close()
                os.chmod(nuke_filename2, 0777)

                alfred_script = alfredSubmissionHybrid(
                    [
                        basename,
                        str(self.usernameLineEdit.text()),
                        "",  # note field
                        first_frame,
                        last_frame,
                        nuke_filename,
                        alfred_filename,
                        nuke_filename,
                        movefile,
                        nuke_filename2,
                        tempdir,
                    ],
                    self.groupBox.isChecked(),
                )

            f = open(alfred_filename, "w")
            f.write(alfred_script)
            f.close()
            os.chmod(alfred_filename, 0777)
            os.system("%s --engine=%s --user=idea %s &" % (TRACTOR, ENGINE_IP, alfred_filename))
        msg = QMessageBox.information(self, "Submit", "Success", QMessageBox.Ok)
        if msg == QMessageBox.Ok:
            QDesktopServices.openUrl(QUrl(TRACTOR_HOME))
        self.saveSettings()
        self.close()
Beispiel #3
0
    def preset_summit(self):
        #        CODEC = {'H.264':'avc1', 'Photo-JPEG':'jpeg', 'Apple ProRes 422':'apcn', 'Apple ProRes 422 (HQ)':'apch', 'Apple ProRes 422 (LT)':'apcs'}
        iMax = ["720", "Apple ProRes 422", 720, 576]
        daily = ["daily", "H.264", 2048, 900]
        twoK = ["HD", "Apple ProRes 422", 1920, 1080]
        originBaseName = self.basename
        for pre in [iMax, twoK]:
            if pre == iMax or pre == twoK:
                self.groupBox.setChecked(0)
            start = time.time()
            # write a nuke file
            self.basename = originBaseName + "_" + pre[0]
            tempdir = os.path.join(self.location, ".tmp-%s" % str(start))
            # tempdir = os.path.join(self.location, 'tmp')
            local_mov_file = os.path.join(MACMINI_LOCAL_PATH, "%s.mov" % self.basename)
            nuke_filename = os.path.join(tempdir, "%s.nk" % self.basename)
            nuke_filename2 = os.path.join(tempdir, "%s_mov.nk" % self.basename)
            alfred_filename = os.path.join(tempdir, "%s.alf" % self.basename)
            newdest = os.path.splitext(self.destination)[0] + "_" + pre[0] + os.path.splitext(self.destination)[1]
            movefile = "/bin/mv %s %s" % (local_mov_file, newdest)
            proxy_file = os.path.splitext(self.scenefile_info.filename())[0]
            proxy_file = os.path.join(tempdir, "%s_%s.jpg" % (proxy_file, pre[0]))
            lookup_file = os.path.join(self.lutpath, str(self.lutComboBox.currentText()))

            # ------------------------------------------------------------------------------
            nk = nuke.open(NUKE_TEMPLATE_FILE)
            nk.set_source(self.source)  # change path
            nk.set_slate(self.groupBox.isChecked())
            nk.set_note(self.noteLineEdit.text())
            nk.set_username(str(self.usernameLineEdit.text()))
            nk.set_jobname(self.workcodeLineEdit.text())
            nk.set_status(str(self.statusComboBox.currentText()))
            nk.set_task(self.subjectLineEdit.text())
            nk.set_shotname(self.shotLineEdit.text())
            nk.set_version(self.versionSpinBox.value())
            nk.set_cgi_version(self.cgiVersionSpinBox.value())
            nk.set_lut(self.lutCheckBox.isChecked(), lookup_file)
            #            nk.set_codec(str(self.codecComboBox.currentText()))
            nk.set_codec(pre[1])
            nk.set_quality(str(self.qualityComboBox.currentText()))
            nk.set_aspect_ratio(1)
            nk.set_opacity("1")
            nk.set_format(str(pre[2]), str(pre[3]), str(1), self.short_format)
            nk.set_frame_range(str(self.framerangeLineEdit.text()))
            nk.set_fps(str(self.fpsComboBox.currentText()))
            nk.set_destination(local_mov_file)
            nk.set_proxy_file(proxy_file)
            # result
            nuke_script = nk.script()

            # ------------------------------------------------------------------------------
            first_frame, last_frame = str(self.framerangeLineEdit.text()).split("-")
            try:
                os.mkdir(tempdir)
            except:
                pass
            os.chmod(tempdir, 0777)
            f = open(nuke_filename, "w")
            for line in nuke_script:
                f.write(line.encode("utf-8"))
            f.close()
            os.chmod(nuke_filename, 0777)

            if self.extension == "jpg":
                alfred_script = alfredSubmission(
                    [
                        self.basename,
                        str(self.usernameLineEdit.text()),
                        "",  # note field
                        first_frame,
                        last_frame,
                        nuke_filename,
                        alfred_filename,
                        nuke_filename,
                        movefile,
                        tempdir,
                    ],
                    self.groupBox.isChecked(),
                )
            else:
                jpg_to_mov_nuke_script = nk.jpg_to_mov_script("template/jpg_to_mov.nk")
                f = open(nuke_filename2, "w")
                for line in jpg_to_mov_nuke_script:
                    f.write(line.encode("utf-8"))
                f.close()
                os.chmod(nuke_filename2, 0777)

                alfred_script = alfredSubmissionHybrid(
                    [
                        self.basename,
                        str(self.usernameLineEdit.text()),
                        "",  # note field
                        first_frame,
                        last_frame,
                        nuke_filename,
                        alfred_filename,
                        nuke_filename,
                        movefile,
                        nuke_filename2,
                        tempdir,
                    ],
                    self.groupBox.isChecked(),
                )

            f = open(alfred_filename, "w")
            f.write(alfred_script)
            f.close()
            os.chmod(alfred_filename, 0777)

            self.saveSettings()
            print "alfred_filename : ", alfred_filename

            os.system("%s --engine=%s --user=idea %s &" % (TRACTOR, ENGINE_IP, alfred_filename))

        msg = QMessageBox.information(self, "Submit", "Success", QMessageBox.Ok)
        # if msg == QMessageBox.Ok:
        #    QDesktopServices.openUrl(QUrl(TRACTOR_HOME))
        self.close()
Beispiel #4
0
    def process(self):
        dirPath = self.playblastFile.rsplit('/', 1)[0] # mov 파일이 저장될 폴더
        basename = os.path.basename(self.playblastFile)
        base = os.path.splitext(basename)[0]

        sourceFile = os.path.join(dirPath, base+".####.jpg")
        version = int(base.split('_v')[1][:2]) if '_v' in base else 1

        local_mov_file = os.path.join("/local", basename)
        tempdir = dirPath
        nuke_filename = os.path.join(tempdir, '%s.nk' % base)
        alfred_filename = os.path.join(tempdir, '%s.alf' % base)
        movefile = '/bin/mv %s %s' % (local_mov_file, os.path.dirname(dirPath))
        deletefile = '/bin/rm %s' % (os.path.join(dirPath, '._%s' % (base+'.mov')))

        nk = nuke.open( os.path.dirname( __file__) + '/../templete/master.nk' )
        nk.set_source(sourceFile)
        nk.set_slate(True)
        nk.set_note("")
        nk.set_username(self.userName)
        nk.set_jobname(self.workcode) # workcode
        nk.set_status("TEMP")
        nk.set_task("") # subject
        nk.set_shotname(self.shot) # shot
        nk.set_version(version) # version
        nk.set_cgi_version(0)
        nk.set_lut(False, os.path.dirname( __file__) + "/../templates/default_lut.cube" )
        nk.set_codec("Photo-JPEG")
        nk.set_quality("High")
        nk.set_opacity("0.7")
        nk.set_aspect_ratio(self.ratio)
        nk.set_format(str(self.width), str(self.height), "1", "Custom")
        nk.set_frame_range("%s-%s" % (self.startFrame, self.endFrame))
        nk.set_fps( self.frameRate )
        #nk.set_fps("24")
        nk.set_scale( self.previewscale )
        # output
        nk.set_proxy_file( self.playblastFile )
        nk.set_destination(local_mov_file)
        nuke_script = nk.script()

        try:
            os.mkdir(tempdir)
            try:
                os.chmod( tempdir , 0777 )
            except :
                pass
        except:
            pass

        f = open(nuke_filename, 'w')
        for line in nuke_script:
            f.write(line.encode('utf-8'))            
        f.close()
        os.chmod( nuke_filename , 0777 )

        tractor_script = self.submit([
            base,
            self.userName,
            '', # note field
            self.startFrame,
            self.endFrame,
            nuke_filename,
            alfred_filename,
            nuke_filename,
            movefile,
            tempdir,
            deletefile,
            self.pbias ], True  )

        f = open(alfred_filename, 'w')
        f.write(tractor_script)
        f.close()
        os.chmod( alfred_filename , 0777 )

        os.system('%s --engine=%s --user=idea %s &' % (
            TRACTOR,
            ENGINE_IP,
            alfred_filename)
            )