| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- # usage:
- # copper1fzp.py -d [fzp folder]
- # add or update a <version> element.
- import getopt, sys, os, os.path, re, xml.dom.minidom, xml.dom
-
- def usage():
- print """
- usage:
- version.py -d [fzp folder]
- add or update a <version> element.
- """
-
-
-
- def main():
- try:
- opts, args = getopt.getopt(sys.argv[1:], "hd:", ["help", "directory"])
- except getopt.GetoptError, err:
- # print help information and exit:
- print str(err) # will print something like "option -a not recognized"
- usage()
- sys.exit(2)
-
- dir = None
-
- for o, a in opts:
- #print o
- #print a
- if o in ("-d", "--directory"):
- dir = a
- elif o in ("-h", "--help"):
- usage()
- sys.exit(2)
- else:
- assert False, "unhandled option"
-
- if(not(dir)):
- usage()
- sys.exit(2)
-
- for root, dirs, files in os.walk(dir, topdown=False):
- for filename in files:
- if not filename.endswith(".fzp"):
- continue
-
- fzpFilename = os.path.join(root, filename)
- try:
- dom = xml.dom.minidom.parse(fzpFilename)
- except xml.parsers.expat.ExpatError, err:
- print str(err), fzpFilename
- continue
-
- fzp = dom.documentElement
- versionNodes = fzp.getElementsByTagName("version")
- version = None
- if (versionNodes.length == 0):
- version = dom.createElement("version")
- fzp.insertBefore(version, fzp.firstChild)
- elif (versionNodes.length == 1):
- txt = ""
- version = versionNodes.item(0)
- else:
- print "multiple version elements in", fzpFilename
- continue
-
- while version.hasChildNodes():
- oldChild = version.firstChild
- version.removeChild(oldChild)
- oldChild.unlink()
-
- vtext = dom.createTextNode("4")
- version.appendChild(vtext)
-
- print "adding version 4 to", fzpFilename
- outfile = open(fzpFilename, 'wb')
- s = dom.toxml("UTF-8")
- outfile.write(s)
- outfile.flush()
- outfile.close()
-
- if __name__ == "__main__":
- main()
|