copper01find.py 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. import getopt, sys, os, os.path, re, xml.dom.minidom, xml.dom
  2. def usage():
  3. print """
  4. usage:
  5. listModuleIDs.py -f { fz file }
  6. looks for files where copper0/copper1 are not parent/child or child/parent
  7. """
  8. def main():
  9. try:
  10. opts, args = getopt.getopt(sys.argv[1:], "hf:", ["help", "file"])
  11. except getopt.GetoptError, err:
  12. # print help information and exit:
  13. print str(err) # will print something like "option -a not recognized"
  14. usage()
  15. return
  16. filename = None
  17. for o, a in opts:
  18. #print o
  19. #print a
  20. if o in ("-f", "--file"):
  21. filename = a
  22. elif o in ("-h", "--help"):
  23. usage()
  24. return
  25. else:
  26. assert False, "unhandled option"
  27. if filename == None:
  28. usage()
  29. return
  30. try:
  31. dom = xml.dom.minidom.parse(filename)
  32. except xml.parsers.expat.ExpatError, err:
  33. print str(err), filename
  34. return
  35. moduleIDs = {}
  36. root = dom.documentElement
  37. instances = root.getElementsByTagName("instance")
  38. for instance in instances:
  39. moduleID = instance.getAttribute("moduleIdRef")
  40. path = instance.getAttribute("path")
  41. if moduleIDs.get(moduleID) == None:
  42. moduleIDs[moduleID] = path
  43. for moduleID in moduleIDs.keys():
  44. print moduleID
  45. print " ",moduleIDs[moduleID]
  46. if __name__ == "__main__":
  47. main()