示例#1
0
	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}}
示例#2
0
	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