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
RigNodeEditor.py 文件源码
python
阅读 24
收藏 0
点赞 0
评论 0
评论列表
文章目录