def getVersion(): nukeFile = nuke.scriptName() try: version = int(ftrack_utils2.version_get(nukeFile, 'v')[1]) except ValueError: version = 0 return version
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