home *** CD-ROM | disk | FTP | other *** search
- #
- # Generate scripts needed for serious testing!
- #
- import win32com, win32com.client.makepy
- import win32com.test
- import pythoncom
- import sys, os
-
- genList = [
- ("msword8", "{00020905-0000-0000-C000-000000000046}",1033,8,0),
- ]
-
- genDir = "Generated4Test"
- def GetGenPath():
- import win32api
- return os.path.join(win32api.GetFullPathName(win32com.test.__path__[0]), genDir)
-
- def GenerateFromRegistered(fname, *loadArgs):
- # tlb = apply(pythoncom.LoadRegTypeLib, loadArgs)
- genPath = GetGenPath()
- try:
- os.stat(genPath)
- except os.error:
- os.mkdir(genPath)
- # Ensure an __init__ exists.
- open(os.path.join(genPath, "__init__.py"), "w").close()
- print fname, ": generating -",
- f = open(os.path.join(genPath, fname + ".py"), "w")
- win32com.client.makepy.GenerateFromTypeLibSpec(loadArgs, f, bQuiet = 1, bGUIProgress = 1, bUnicodeToString=NeedUnicodeConversions)
- f.close()
- print "compiling -",
- fullModName = "win32com.test.%s.%s" % (genDir, fname)
- exec "import " + fullModName
- # Inject the generated module as a top level module.
- sys.modules[fname] = sys.modules[fullModName]
- print "done"
-
-
- def GenerateAll():
- for args in genList:
- try:
- apply(GenerateFromRegistered, args)
- except KeyboardInterrupt:
- print "** Interrupted ***"
- break
- except pythoncom.com_error:
- print "** Could not generate test code for ", args[0]
-
- def CleanAll():
- print "Cleaning generated test scripts..."
- try: # Clear exceptions!
- 1/0
- except:
- pass
- genPath = GetGenPath()
- for args in genList:
- try:
- name = args[0]+".py"
- os.unlink(os.path.join(genPath, name))
- except os.error, details:
- if type(details)==type(()) and details[0]!=2:
- print "Could not deleted generated", name, details
- try:
- name = args[0]+".pyc"
- os.unlink(os.path.join(genPath, name))
- except os.error, details:
- if type(details)==type(()) and details[0]!=2:
- print "Could not deleted generated", name, details
- try:
- os.unlink(os.path.join(genPath, "__init__.py"))
- except:
- pass
- try:
- os.unlink(os.path.join(genPath, "__init__.pyc"))
- except:
- pass
- try:
- os.rmdir(genPath)
- except os.error, details:
- print "Could not delete test directory -", details
-
- if __name__=='__main__':
- GenerateAll()
- CleanAll()
-