Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import os, sys, string, datetime, shutil, subprocess
- from xml.dom import minidom
- def readTextData(parentNode):
- dataType = ''
- curNode = parentNode.firstChild
- while curNode:
- if curNode.nodeType == curNode.TEXT_NODE:
- dataType += curNode.data
- if curNode.nodeType == curNode.ELEMENT_NODE:
- dataType += curNode.firstChild.data
- curNode = curNode.nextSibling
- return dataType
- class SKSEMember:
- def __init__(self, type, name):
- self.type = type
- self.name = name
- pass
- class SKSEClass:
- def __init__(self, classRef, className):
- self.classRef = classRef
- self.className = className
- self.doc = minidom.parse('xml/%s.xml' % self.classRef)
- self.members = self.readMembers()
- self.inheritance = self.readInheritance()
- def readMembers(self):
- members = []
- memberList = self.doc.getElementsByTagName('memberdef')
- for member in memberList:
- if member.getAttribute('kind') == 'variable':
- varType = member.getElementsByTagName('type')[0]
- varTypeText = readTextData(varType)
- varName = member.getElementsByTagName('name')[0]
- varNameText = varName.firstChild.data
- thisMember = SKSEMember(varTypeText, varNameText)
- members.append(thisMember)
- return members
- def readInheritance(self):
- baseRef = self.doc.getElementsByTagName('basecompoundref')
- if baseRef and baseRef[0]:
- return baseRef[0].firstChild.data
- return ''
- pass
- xmldoc = minidom.parse('xml/index.xml')
- itemlist = xmldoc.getElementsByTagName('compound')
- for item in itemlist:
- refid = item.getAttribute('refid')
- reftype = item.getAttribute('kind')
- if reftype == 'class':
- thisClass = SKSEClass(refid, item.firstChild.firstChild.data)
- print thisClass.className
- if thisClass.inheritance:
- print '\t' + thisClass.inheritance
- for member in thisClass.members:
- print '\t\t' + member.type + ' ' + member.name
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement