from xml.etree import ElementTree as ET import os, sys, re debug = 0 def printTree(node,pattern): if node != None: for child in node: if pattern.match(child.text): print child.tag else: print child.tag, "=>", child.text printTree(child,pattern) def main(): pattern = re.compile('\s+') file_name = os.popen('echo %userprofile%').read() xml_file = os.path.join(file_name.strip(), ".p4qt\\customtools.xml") try: tree = ET.parse(xml_file) except Exception, inst: print "Unexpected error opening %s: %s" % (xml_file, inst) return if debug == 1: printTree(tree.getroot(),pattern) child = ET.SubElement(tree.getroot(),"CustomToolDef") subChild1 = ET.SubElement(child,"Definition") subChild2 = ET.SubElement(subChild1,"Name") subChild2.text = "DeleteC" subChild3 = ET.SubElement(subChild1,"Command") subChild3.text = "p4" subChild4 = ET.SubElement(subChild1,"Arguments") subChild4.text = "-u smoon -p20082 client -d -f $D" subChild5 = ET.SubElement(child,"Prompt") subChild6 = ET.SubElement(subChild5,"PromptText") subChild6.text = "Enter client name" try: tree.write(xml_file) except Exception, inst: print "Unexpected error opening %s: %s" % (xml_file, inst) return if __name__ == "__main__": main()