def createScene(self, fileType, catch = None): ''' Save new scene, build scene content. :param sceneType: type of created scene, Render, Animation etc :param catch: determinate if procedure were run for the firs time from this class, or it returns user reply from SNV class :return: ''' print '>> Building Render scene...' # Get sequence and shot from UI sequenceNumber = self.ui.lin_episode.text() shotNumber = self.ui.lin_shot.text() # If createRenderScene() runs first time if catch == None: # Build path to 001 version pathScene = dna.buildFilePath('001', fileType, sequenceNumber=sequenceNumber, shotNumber=shotNumber) # Start new Houdini session without saving current hou.hipFile.clear(suppress_save_prompt=True) # Check if file exists if not os.path.exists(pathScene): # Save first version if NOT EXISTS hou.hipFile.save(pathScene) hou.ui.displayMessage('File created:\n{}'.format(pathScene.split('/')[-1])) # print '>> First version of file saved!' else: # If 001 version exists, get latest existing version pathScene = dna.buildPathLatestVersion(pathScene) # Run Save Next Version dialog if EXISTS winSNV = SNV(pathScene, fileType) winSNV.show() return # If createRenderScene() runs from SNV class: return user choice, OVR or SNV elif catch == 'SNV': # Save latest version newPath = dna.buildPathNextVersion(dna.buildPathLatestVersion(dna.buildFilePath('001', fileType, sequenceNumber=sequenceNumber, shotNumber=shotNumber))) hou.hipFile.save(newPath) hou.ui.displayMessage('New version saved:\n{}'.format(newPath.split('/')[-1])) elif catch == 'OVR': # Overwrite existing file pathScene = dna.buildPathLatestVersion(dna.buildFilePath('001', fileType, sequenceNumber=sequenceNumber, shotNumber=shotNumber)) hou.hipFile.save(pathScene) hou.ui.displayMessage('File overwited:\n{}'.format(pathScene.split('/')[-1])) else: return # Build scene content self.buildSceneContent(fileType, sequenceNumber=sequenceNumber, shotNumber=shotNumber) # Save scene hou.hipFile.save() print '>> Building Render scene done!'
def saveNextVersion(): # Get current name filePath = hou.hipFile.path() # Get next version newPath = dna.buildPathNextVersion(filePath) # Check if next version exists if not os.path.exists(newPath): hou.hipFile.save(newPath) print '>> File saved with a NEXT version!' else: # If next version exists, get latest existing version newPath = dna.buildPathLatestVersion(newPath) win = SNV(newPath) win.show()
def SNV(self, filePath): newPath = dna.buildPathNextVersion(filePath) hou.hipFile.save(newPath) print '>> File saved with a LATEST version!'