Todo: 集成多平台 解决因SaiNiu线程抢占资源问题 本地提交测试环境打包 和 正式打包脚本与正式环境打包bat 提交Python32环境包 改进多日志文件生成情况修改打包日志细节

This commit is contained in:
2025-09-18 15:52:03 +08:00
parent 8b9fc925fa
commit 7cfc0c22b7
7608 changed files with 2424791 additions and 25 deletions

View File

@@ -0,0 +1,54 @@
# Test makepy - try and run it over every OCX in the windows system directory.
import sys
import traceback
import pythoncom
import win32com.test.util
import winerror
from win32com.client import gencache, makepy, selecttlb
def TestBuildAll(verbose=1):
num = 0
tlbInfos = selecttlb.EnumTlbs()
for info in tlbInfos:
if verbose:
print(f"{info.desc} ({info.dll})")
try:
makepy.GenerateFromTypeLibSpec(info)
# sys.stderr.write("Attr typeflags for coclass referenced object %s=%d (%d), typekind=%d\n" % (name, refAttr.wTypeFlags, refAttr.wTypeFlags & pythoncom.TYPEFLAG_FDUAL,refAttr.typekind))
num += 1
except pythoncom.com_error as details:
# Ignore these 2 errors, as the are very common and can obscure
# useful warnings.
if details.hresult not in [
winerror.TYPE_E_CANTLOADLIBRARY,
winerror.TYPE_E_LIBNOTREGISTERED,
]:
print("** COM error on", info.desc)
print(details)
except KeyboardInterrupt:
print("Interrupted!")
raise
except:
print("Failed:", info.desc)
traceback.print_exc()
if makepy.bForDemandDefault:
# This only builds enums etc by default - build each
# interface manually
tinfo = (info.clsid, info.lcid, info.major, info.minor)
mod = gencache.EnsureModule(info.clsid, info.lcid, info.major, info.minor)
for name in mod.NamesToIIDMap:
makepy.GenerateChildFromTypeLibSpec(name, tinfo)
return num
def TestAll(verbose=0):
num = TestBuildAll(verbose)
print("Generated and imported", num, "modules")
win32com.test.util.CheckClean()
if __name__ == "__main__":
TestAll("-q" not in sys.argv)