12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- import sys, string, os
- from xml.etree import ElementTree as ET
- from xml.dom import minidom
- projFile = sys.argv[1]
- targetPath = sys.argv[2]
- def getLinkElement():
- global targetPath
- ret = ET.Element('link')
- nameEle = ET.Element('name')
- nameEle.text = 'plugin-x'
- typeEle = ET.Element('type')
- typeEle.text = '2'
- locEle = ET.Element('locationURI')
- locEle.text = targetPath
- ret.append(nameEle)
- ret.append(typeEle)
- ret.append(locEle)
-
- return ret
- tree = ET.parse(projFile)
- root = tree.getroot()
- nodeLinkRes = root.find('linkedResources')
- if nodeLinkRes != None:
- linkNodes = nodeLinkRes.findall('link')
- haveTarget = False
- if linkNodes != None and len(linkNodes) > 0:
- for node in linkNodes:
- locNode = node.find('locationURI')
- if locNode == None:
- continue
- tempText = locNode.text
- tempText = tempText.strip(' \n\r\t')
- if tempText == targetPath:
- haveTarget = True
- break
- if not haveTarget:
- nodeLinkRes.append(getLinkElement())
- tree.write(projFile, 'UTF-8')
- else:
- linkResEle = ET.Element('linkedResources')
- linkResEle.append(getLinkElement())
- root.append(linkResEle)
- tree.write(projFile, 'UTF-8')
|