RigNodeEditor.py 文件源码

python
阅读 24 收藏 0 点赞 0 评论 0

项目:Modular_Rigging_Thesis 作者: LoganKelly 项目源码 文件源码
def SaveXMLFile(self):
        #fileDialog = QFileDialog(self.getMayaWindow())
        #fileDialog.setAcceptMode(QFileDialog.AcceptSave)
        #fileDialog.fileSelected.connect(self.WriteXMLToFile)
        #fileDialog.show()

    #def WriteXMLToFile(self,fileName):
        rigNodeFound = False
        try:
            rigGuiNode = self.scene.sceneNodes["Rig"]
            rigNodeFound = True
        except KeyError:
            rigNodeFound = False
            try:
                mel.eval('error \"Rig Node Editor: No rig network exists to write to file.\";')
            except:
                return

        if rigNodeFound:
            rootElem = self.recursiveGetXML(rigGuiNode,True)
            rigName = rootElem.get('name')
            #define the most current rig definition file name and the rig definition folder
            #for older versions
            fileName = cmds.workspace(q=True,rd=True) + "rigDefinitions/" + rigName + ".xml"
            fileDirectory = cmds.workspace(q=True,rd=True) + "rigDefinitions/" + rigName + "/"
            currentFileExists = os.path.isfile(fileName)
            archiveFolderExists = os.path.isdir(fileDirectory)
            archiveFilesExist = False
            if archiveFolderExists:
                archiveFilesExist = len(os.listdir(fileDirectory)) > 0
            versionExists = False
            versionFile = None
            #check archive file names to see if version already exists
            if archiveFilesExist:
                saveVersion = rootElem.get('version')
                versionSearchString = re.sub('\.','_',saveVersion)
                for file in os.listdir(fileDirectory):
                    if versionSearchString in file:
                        versionExists = True
                        versionFile = file
            #check most recently saved file to see if version exists
            if currentFileExists:
                tree = xml.ElementTree()
                tree.parse(fileName)
                rigElem = tree.getroot()
                lastVersion = rigElem.get('version')
                saveVersion = rootElem.get('version')
                if lastVersion == saveVersion:
                    versionExists = True
                    versionFile = fileName
            self.FileSave(currentFileExists, archiveFolderExists, versionExists, versionFile, fileName, fileDirectory,rootElem)

    #depending on the boolean flags provided, save the xml file in different ways
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号