Annotation of OSAS/OSA_system/OSAS_helpers.py, revision 1.1
1.1 ! dwinter 1: """ some helpfull methods """
! 2: import xml.dom.minidom
! 3: import os.path
! 4: import re
! 5:
! 6: def getText(nodelist):
! 7:
! 8: rc = ""
! 9: for node in nodelist:
! 10:
! 11: if node.nodeType == node.TEXT_NODE:
! 12: rc = rc + node.data
! 13: return rc
! 14:
! 15: def changeNodesInIndexMeta(path,node,subnodes,parent=None,nodeAttributes=None):
! 16: """node mit subnodes wird in index.meta in path eingetragen bzw. ausgetauscht"""
! 17:
! 18: if os.path.exists(path+"/index.meta"):
! 19: inFile=file(path+"/index.meta")
! 20: f=inFile.read()
! 21: inFile.close()
! 22: else:
! 23: f="""<resource type="ECHO" version="1.0"></resource>"""
! 24:
! 25:
! 26: dom=xml.dom.minidom.parseString(f)
! 27: root=dom.getElementsByTagName("resource")[0]
! 28:
! 29: if parent:
! 30:
! 31: try:
! 32: root=root.getElementsByTagName(parent)[0]
! 33: except:
! 34: #print "parent",parent
! 35: nodeNew=dom.createElement(parent)
! 36: root.appendChild(nodeNew)
! 37: root=root.getElementsByTagName(parent)[0]
! 38:
! 39: # check if node already exist
! 40:
! 41: nodeOld=root.getElementsByTagName(node)
! 42:
! 43: if nodeOld: # if yes -> delete it
! 44: root.removeChild(nodeOld[0]).unlink()
! 45:
! 46: if node=="":
! 47: for subnode in subnodes.keys():
! 48:
! 49: namenode=dom.createElement(re.sub(r' ','-',subnode))
! 50: namenodetext=dom.createTextNode(subnodes[subnode].decode("utf8"))
! 51: namenode.appendChild(namenodetext)
! 52: root.appendChild(namenode)
! 53:
! 54: else:
! 55: nodeNew=dom.createElement(node) # create new
! 56:
! 57: if nodeAttributes:
! 58: for attribute in nodeAttributes.keys():
! 59: #print attribute,nodeAttributes[attribute]
! 60: nodeNew.setAttribute(attribute,nodeAttributes[attribute])
! 61:
! 62: for subnode in subnodes.keys():
! 63:
! 64: namenode=dom.createElement(re.sub(r' ','-',subnode))
! 65: namenodetext=dom.createTextNode(subnodes[subnode].decode("utf8"))
! 66: namenode.appendChild(namenodetext)
! 67: nodeNew.appendChild(namenode)
! 68:
! 69:
! 70: root.appendChild(nodeNew)
! 71:
! 72: writefile=file(path+"/index.meta","w")
! 73: writefile.write(dom.toxml().encode('utf-8'))
! 74: writefile.close()
! 75:
! 76:
! 77:
! 78:
! 79:
! 80:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>