#When run on (my) windows box, this builds and cleans everything in #preparation for a release. import os import sys #Replace version strings if len(sys.argv)>1: oldVersion = sys.argv[1] newVersion = sys.argv[2] query = raw_input("Replace %s with %s?: " % (oldVersion, newVersion)) if query == "y": #First, scan through and make sure the replacement is possible for filename in ("setup.py", "tlslite\\__init__.py", "scripts\\tls.py", "scripts\\tlsdb.py"): s = open(filename, "rU").read() x = s.count(oldVersion) if filename.endswith("__init__.py"): if x != 2: print "Error, old version appears in %s %s times" % (filename, x) sys.exit() else: if x != 1: print "Error, old version appears in %s %s times" % (filename, x) sys.exit() #Then perform it for filename in ("setup.py", "tlslite\\__init__.py", "scripts\\tls.py", "scripts\\tlsdb.py"): os.system("copy %s .." % filename) #save a backup copy in case something goes awry s = open(filename, "r").read() f = open(filename, "w") f.write(s.replace(oldVersion, newVersion)) f.close() #Make windows installers os.system("del installers\*.exe") #Python 2.3 os.system("rmdir build /s /q") os.system("python23 setup.py bdist_wininst -o") os.system("copy dist\* installers") #Python 2.4 os.system("rmdir build /s /q") os.system("python24 setup.py bdist_wininst -o") os.system("copy dist\* installers") #Make documentation os.system("python23 c:\\devtools\\python23\\scripts\\epydoc.py --html -o docs tlslite") #Delete excess files os.system("del tlslite\\*.pyc") os.system("del tlslite\\utils\\*.pyc") os.system("del tlslite\\integration\\*.pyc") os.system("rmdir build /s /q") os.system("rmdir dist /s /q")