def publish(self): """docstring for publish""" mails = '' mailNoti = 'false' if self.gen[ "sendmail" ] == 'True': mails = ','.join( ml.getUsersInDepartments( ['compo', 'lighting', 'production'], self.gen[ "departmentspath" ] ) ) mailNoti = 'true' for i in range( self.viewLayers_lw.count() ): item = self.viewLayers_lw.item( i ) if item.checkState() == QtCore.Qt.Checked: sqFile, sho, layer, version = item.data(32)[1] sqFile.copy( sho.publish3DPath + '/' + layer + '/' + version + '/' ) if self.gen[ "sendmail" ]: ml.mailFromTool( 'new_render', { '<ProjectName>': sho.project.name, '<SequenceName>': sho.sequence.name, '<ShotName>': sho.name, '<RenderLayer>': layer + ' - ' + version, '<UserName>': os.getenv('username'), '<Path>' : sho.publish3DPath + '/' + layer + '/' + version + '/' }, os.getenv('username') + '@bitt.com', self.gen[ "departmentspath" ] , self.gen[ "mailserver" ], self.gen[ "mailport" ] ) msgBox = QtGui.QMessageBox() msgBox.setText( "All renderlayers have been published.") msgBox.exec_()
def render(self): """docstring for render""" curFile = mfl.currentFile() if self.autoSave_chb.isChecked(): curFile.newVersion() curFile.save() dead = dl.Deadline() group = str(self.groups_cmb.currentText()) pool = str(self.pools_cmb.currentText()) comments = str( self.comments_te.text()) priority = str( self.priority_spb.value() ) taskSize = str( self.taskSize_spb.value() ) projPath = str( self.projectPath_le.text() ) settings = sti.Settings() gen = settings.General if self.useServerPaths_chb.isChecked(): #IF USE PATH FROM SERVER... WE NEED TO CHANGE INTERNAL PATHS SO MATCH SERVER curFile = mfl.mayaFile( curFile.copy( dead.userHomeDirectory + '/' + curFile.fullName ).path ) if gen: basePath = gen[ "basepath" ] if basePath: if basePath.endswith( '\\' ): basePath = basePath[:-1] basePath = basePath.replace( '\\', '/' ) serverPath = gen[ "serverpath" ] curFile.changePathsBrutForce( srchAndRep = [ basePath, serverPath ] ) #fix for xgen =) curFile.changeXgens( newDir = curFile.dirPath ) InitialStatus = "Active" if self.submitSuspended_chb.isChecked(): InitialStatus = "Suspended" whiteList = '' deRenGlob = mn.Node( 'defaultRenderGlobals' ) pad = deRenGlob.a.extensionPadding.v #deRenGlob.a.imageFilePrefix.v = str(self.filePath_le.text()) if self.renderLocal_chb.isChecked(): whiteList = socket.gethostname() print 'rendering in local', whiteList plugin = 'MayaBatch' if mc.getAttr( "defaultRenderGlobals.ren" ) == 'mentalRay': plugin = 'MayaCmd' #MAIL mails = '' mailNoti = 'false' if gen[ "sendmail" ] == 'True': mails = ','.join( ml.getUsersInDepartments( ['lighting', 'production'], gen[ "departmentspath" ] ) ) mailNoti = 'true' for w in self._getLayersWidgets(): filePrefix = self.getFilePrefixFromTags( str(self.filePath_le.text()), self.assOrShot ) frames = str(self.frameRange_le.text()) if not w.renderMe_chb.isChecked(): continue if w.overFrameRange_chb.isChecked(): frames = str( w.frameRange_le.text() ) filename = mc.renderSettings( lyr = w.layer.name, gin = ('?'*pad) )[0] print filename if not mc.getAttr( "defaultRenderGlobals.ren" ) == 'mentalRay': filePrefix = filePrefix.replace( '<RenderLayer>', w.layer.name.replace( ':', '_' ) ) #get version number if '<RenderLayerVersion>' in filePrefix: versionNumber = self._getVersionNumber( filePrefix.split( '<RenderLayerVersion>' )[0] ) filePrefix = filePrefix.replace( '<RenderLayerVersion>', 'v' + str(versionNumber).zfill( 4 ) ) filename = filePrefix + '.' + ('?'*pad) + os.path.splitext( filename )[1] print 'RENDERING', filename, w.layer.name #filename = filename.replace( ':', '_' ) name = '' if self._project: name = self._project + ' - ' Job = dl.Job( w.layer.name.replace( ':', '_' ), { 'Plugin' : plugin, 'Group' : group, 'Pool' : pool, 'Frames' : frames, 'Comment' : comments, 'InitialStatus' : InitialStatus, 'UserName' : os.getenv('username'), 'Whitelist' : whiteList, 'Name' : name + curFile.name + ' - ' + w.layer.name, 'OutputFilename0' : filename, 'Priority' : priority, 'ChunkSize' : taskSize, 'OutputDirectory0': filename, 'NotificationEmails': mails, 'OverrideNotificationMethod': 'true', 'EmailNotification': mailNoti },{'CommandLineOptions' : '-rl ' + w.layer.name + ' -mr:art ', 'UsingRenderLayers' : 1, #'ProjectPath' : projPath, 'RenderLayer' : w.layer.name, 'OutputFilePrefix' : filePrefix, 'OutputPath' : filename }, curFile ) Job.write() dead.runMayaJob( Job )