modifyProject.py 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. import sys, string, os
  2. from xml.etree import ElementTree as ET
  3. from xml.dom import minidom
  4. projFile = sys.argv[1]
  5. targetPath = sys.argv[2]
  6. def getLinkElement():
  7. global targetPath
  8. ret = ET.Element('link')
  9. nameEle = ET.Element('name')
  10. nameEle.text = 'plugin-x'
  11. typeEle = ET.Element('type')
  12. typeEle.text = '2'
  13. locEle = ET.Element('locationURI')
  14. locEle.text = targetPath
  15. ret.append(nameEle)
  16. ret.append(typeEle)
  17. ret.append(locEle)
  18. return ret
  19. tree = ET.parse(projFile)
  20. root = tree.getroot()
  21. nodeLinkRes = root.find('linkedResources')
  22. if nodeLinkRes != None:
  23. linkNodes = nodeLinkRes.findall('link')
  24. haveTarget = False
  25. if linkNodes != None and len(linkNodes) > 0:
  26. for node in linkNodes:
  27. locNode = node.find('locationURI')
  28. if locNode == None:
  29. continue
  30. tempText = locNode.text
  31. tempText = tempText.strip(' \n\r\t')
  32. if tempText == targetPath:
  33. haveTarget = True
  34. break
  35. if not haveTarget:
  36. nodeLinkRes.append(getLinkElement())
  37. tree.write(projFile, 'UTF-8')
  38. else:
  39. linkResEle = ET.Element('linkedResources')
  40. linkResEle.append(getLinkElement())
  41. root.append(linkResEle)
  42. tree.write(projFile, 'UTF-8')