def process(self, instance, context): if instance.has_data('outputPath'): sourcePath = os.path.normpath(instance.data('outputPath')) version = context.data('version') version = 'v' + str(version).zfill(3) taskid = context.data('ftrackData')['Task']['id'] task = ftrack.Task(taskid) parents = task.getParents() # Prepare data for parent filtering parenttypes = [] for parent in parents: try: parenttypes.append(parent.get('objecttypename')) except: pass # choose correct template if 'Episode' in parenttypes: templates = [ 'tv-ep-cam-file', ] elif 'Sequence' in parenttypes: templates = [ 'tv-sq-cam-file', ] publishFile = ft_pathUtils.getPaths(task, templates, version) publishFile = os.path.normpath(publishFile[templates[0]]) self.log.info('Copying preview to location: {}'.format(publishFile)) shutil.copy(sourcePath, publishFile) # # ftrack data # components = instance.data('ftrackComponents') # components['preview']['path'] = publishFile # instance.set_data('ftrackComponents', value=components) else: self.log.warning('preview wasn\'t created so it can\'t be published')
def process(self, instance, context): if instance.has_data('outputPath'): sourcePath = os.path.normpath(instance.data('outputPath')) version = context.data('version') version = 'v' + str(version).zfill(3) taskid = context.data('ftrackData')['Task']['id'] task = ftrack.Task(taskid) parents = task.getParents() # Prepare data for parent filtering parenttypes = [] for parent in parents: try: parenttypes.append(parent.get('objecttypename')) except: pass # choose correct template if 'Episode' in parenttypes: templates = [ 'tv-ep-preview-file', ] elif 'Sequence' in parenttypes: templates = [ 'tv-sq-preview-file', ] publishFile = ft_pathUtils.getPaths(task, templates, version) publishFile = os.path.normpath(publishFile[templates[0]]) projectName = task.getProject().getName() if projectName not in ['rad', 'drm']: if 'Asset Build' not in parenttypes: templates = [ 'shot.publish.file' ] else: templates = [ 'asset.publish.file' ] self.log.debug(templates) publishFile = ft_pathUtils.getPathsYaml(task, templateList=templates, version=version) path, extension = os.path.splitext(publishFile[0]) publishFile = path + ".mov" self.log.info('Moving preview from location: {}'.format(sourcePath)) self.log.info('Moving preview to location: {}'.format(publishFile)) shutil.move(sourcePath, publishFile) # ftrack data components = instance.data('ftrackComponents') components['preview']['path'] = publishFile instance.set_data('ftrackComponents', value=components) else: self.log.warning('preview wasn\'t created so it can\'t be published')