def addInfo(self) : try : # add attr pipelineTools.assignGeoInfo() # assign department info pipelineTools.setGeoInfo(self.asset.department(), self.asset.fileName()) # assign basic info pipelineTools.setGeoInfo('project', self.asset.project()) pipelineTools.setGeoInfo('assetName', self.asset.name()) pipelineTools.setGeoInfo('ref', self.asset.getPath('ref')) pipelineTools.setGeoInfo('lod', self.asset.taskLOD()) data = pipelineTools.readGeoInfo('data') # assign data datas = [] if data : datas = eval(data) if not self.asset.fileName() in datas : datas.append(self.asset.fileName()) pipelineTools.setGeoInfo('data', str(datas)) if self.asset.department() in setting.addInfoDep : pipelineTools.autoAssign() return {'Add info': {'status': True, 'message': ''}} except Exception as e : logger.debug(e) return {'Add info': {'status': False, 'message': e}}
def publishShotgun(self) : # publish shotgun ''' version - Version, Thumbnails, Media # task ''' logger.debug('--- publishing Shotgun ---') self.setStatus('--- Shotgun Publish ---', True, [40, 40, 40], 0) # UI value status = str(self.ui.status_comboBox.currentText()) thumbnail = str(self.ui.thumbnail_lineEdit.text()) media = str(self.ui.media_lineEdit.text()) sg_status_list = self.sgStatusMap[status] task_sg_status_list = self.getShotgunStatus(status) # entity value project = self.asset.project() assetType = self.asset.type() assetSubType = self.asset.subType() assetName = self.asset.name() stepName = self.asset.department() taskName = self.asset.task() publishFile = os.path.basename(self.svPublishFile).split('.')[0] user = hook.getUser() ''' version ''' logger.debug('Create version %s' % publishFile) logger.debug('%s %s %s %s %s %s %s %s %s' % (project, assetType, assetSubType, assetName, stepName, taskName, publishFile, sg_status_list, user)) try : versionEntity, assetEntity, taskEntity = shotgunPublish.publishVersion(project, assetType, assetSubType, assetName, stepName, taskName, publishFile, sg_status_list, user) except Exception as e : logger.info('No asset in Shotgun') logger.debug(e) return False self.setStatus('Create version %s' % publishFile, versionEntity) logger.info('Create version %s %s' % (publishFile, versionEntity)) if versionEntity and assetEntity and taskEntity : ''' upload thumbnail ''' logger.debug('Upload thumbnail %s' % thumbnail) thumbResult = shotgunPublish.uploadThumbnail(versionEntity, thumbnail) self.setStatus('Upload thumbnail', thumbResult) logger.info('Upload thumbnail %s' % thumbResult) ''' upload media ''' logger.debug('Upload media %s' % media) mediaResult = shotgunPublish.uploadMedia(versionEntity, media) self.setStatus('Upload media', mediaResult) logger.info('Upload media %s' % mediaResult) ''' set task and dependency tasks ''' logger.debug('Set task') taskResult = shotgunPublish.publishTask(self.asset, assetEntity, stepName, taskEntity, task_sg_status_list, self.svPublishFile) self.setStatus('Set Task', taskResult) ''' set geo info ID ''' # set ID pipelineTools.setGeoInfo('id', assetEntity['id']) return True