Example #1
0
def getVersion():
    nukeFile = nuke.scriptName()
    try:
        version = int(ftrack_utils2.version_get(nukeFile, 'v')[1])
    except ValueError:
        version = 0
    return version
Example #2
0
def getVersion():
    nukeFile = nuke.scriptName()
    try:
        version = int(ftrack_utils2.version_get(nukeFile, 'v')[1])
    except ValueError:
        version = 0
    return version
Example #3
0
 def getLatestVersion(self, folder):
     version = 1
     if os.path.exists(folder):
         files = [f for f in os.listdir(folder) if os.path.isfile(os.path.join(folder, f))]
         maxVersion = 1
         if files:
             for f in files:
                 try:
                     version = int(ftrack_utils2.version_get(f, 'v')[1])
                 except ValueError:
                     version = 1
                 if version >= maxVersion:
                     maxVersion = version
     return version
    def getShotInfo(self, *args):
        taskid = None
        filename = self.getCurrentMayaFile()
        if 'FTRACK_TASKID' in os.environ:
            taskid = os.environ['FTRACK_TASKID']

        self.task = ftrack_utils2.getTask(self.session, taskid, filename)
        if self.task:
            projectName = self.task['project']['name']
            self.shotName = self.task['parent']['name']
            taskName = self.task['name']
            username = ftrack_utils2.getUsername(self.task)
            try:
                self.version = 'v' + ftrack_utils2.version_get(filename,
                                                               'v')[1]
            except ValueError:
                self.version = 'v00'
            shotInfo = '{0} | {1} | {2} | {3} | {4}'.format(
                projectName, self.shotName, taskName, self.version, username)
        else:
            shotInfo = 'No valid task found'
        return shotInfo
def createMov(outdir, filename, taskid):
    session = ftrack_utils2.startANewSession()
    # If taskid is not valid, then don't try and figure it out from filename as it can
    # be problematic. Only upload if there is a valid taskid.
    task = ftrack_utils2.getTask(session, taskid, '')
    extractDir = ''

    imgSeq = glob.glob(outdir)
    imgSeq.sort()
    size = prores_utils.getImageSize(imgSeq[0])
    # if exr, extract rgb channel
    if imgSeq[0].endswith('.exr'):
        print 'Extracting RGB channel from EXR image sequence...'
        extractDir = prores_utils.extractRGB(imgSeq)
        imgSeq = glob.glob(os.path.join(extractDir, '*'))
        imgSeq.sort()
    # make movie
    print 'Making movie...'
    movFile = prores_utils.makeMovie(imgSeq[0])
    movFilename = os.path.split(movFile)[-1]
    parentDir = os.path.dirname(outdir)

    print 'Created: %s' % movFile

    # copy movFile to out filename location
    print 'Copying to location: %s' % parentDir
    try:
        shutil.copy(movFile, parentDir)
    except shutil.Error:
        logging.warning('Files are the same. Skipping copy')

    movFile = os.path.join(parentDir, movFilename)

    if task:
        print 'Valid task found!'
        artist = ftrack_utils2.getUsername(task)
        date = ftrack_utils2.getDate()
        try:
            version = 'v' + ftrack_utils2.version_get(filename, 'v')[1]
        except:
            version = 'v01'
        shotInfo = '{0} | {1} | {2} | {3} | {4}'.format(task['project']['name'], task['parent']['name'],
                                                        task['name'], version, artist)

        if len(imgSeq) == 0:
            return

        slate = prores_utils.makeSlate(size, imgSeq[0], shotInfo, date)

        print 'Making slate movie'
        slateMov = prores_utils.makeSlateMovie(movFile, slate)

        logging.debug('Removing tmp files')
        if os.path.exists(slate):
            os.remove(slate)
        if os.path.exists(movFile):
            os.remove(movFile)
        movFile = slateMov

    logging.debug('Removing tmp exr files')
    if os.path.exists(extractDir):
        shutil.rmtree(extractDir)
    print 'Final movie file: %s' % movFile
    return movFile, task