Todo: 集成多平台 解决因SaiNiu线程抢占资源问题 本地提交测试环境打包 和 正式打包脚本与正式环境打包bat 提交Python32环境包 改进多日志文件生成情况修改打包日志细节
This commit is contained in:
161
Utils/PythonNew32/Lib/site-packages/win32/lib/regcheck.py
Normal file
161
Utils/PythonNew32/Lib/site-packages/win32/lib/regcheck.py
Normal file
@@ -0,0 +1,161 @@
|
||||
# This module is very old and useless in this day and age! It will be
|
||||
# removed in a few years (ie, 2009 or so...)
|
||||
|
||||
import warnings
|
||||
|
||||
warnings.warn(
|
||||
"The regcheck module has been pending deprecation since build 210",
|
||||
category=PendingDeprecationWarning,
|
||||
)
|
||||
|
||||
import os
|
||||
import sys
|
||||
|
||||
import regutil
|
||||
import win32api
|
||||
import win32con
|
||||
|
||||
|
||||
def CheckRegisteredExe(exename):
|
||||
try:
|
||||
os.stat(
|
||||
win32api.RegQueryValue(
|
||||
regutil.GetRootKey(), regutil.GetAppPathsKey() + "\\" + exename
|
||||
)
|
||||
)
|
||||
except (OSError, win32api.error):
|
||||
print("Registration of %s - Not registered correctly" % exename)
|
||||
|
||||
|
||||
def CheckPathString(pathString):
|
||||
for path in pathString.split(";"):
|
||||
if not os.path.isdir(path):
|
||||
return "'%s' is not a valid directory!" % path
|
||||
return None
|
||||
|
||||
|
||||
def CheckPythonPaths(verbose):
|
||||
if verbose:
|
||||
print("Python Paths:")
|
||||
# Check the core path
|
||||
if verbose:
|
||||
print("\tCore Path:", end=" ")
|
||||
try:
|
||||
appPath = win32api.RegQueryValue(
|
||||
regutil.GetRootKey(), regutil.BuildDefaultPythonKey() + "\\PythonPath"
|
||||
)
|
||||
except win32api.error as exc:
|
||||
print("** does not exist - ", exc.strerror)
|
||||
problem = CheckPathString(appPath)
|
||||
if problem:
|
||||
print(problem)
|
||||
else:
|
||||
if verbose:
|
||||
print(appPath)
|
||||
|
||||
key = win32api.RegOpenKey(
|
||||
regutil.GetRootKey(),
|
||||
regutil.BuildDefaultPythonKey() + "\\PythonPath",
|
||||
0,
|
||||
win32con.KEY_READ,
|
||||
)
|
||||
try:
|
||||
keyNo = 0
|
||||
while 1:
|
||||
try:
|
||||
appName = win32api.RegEnumKey(key, keyNo)
|
||||
appPath = win32api.RegQueryValue(key, appName)
|
||||
if verbose:
|
||||
print("\t" + appName + ":", end=" ")
|
||||
if appPath:
|
||||
problem = CheckPathString(appPath)
|
||||
if problem:
|
||||
print(problem)
|
||||
else:
|
||||
if verbose:
|
||||
print(appPath)
|
||||
else:
|
||||
if verbose:
|
||||
print("(empty)")
|
||||
keyNo += 1
|
||||
except win32api.error:
|
||||
break
|
||||
finally:
|
||||
win32api.RegCloseKey(key)
|
||||
|
||||
|
||||
def CheckHelpFiles(verbose):
|
||||
if verbose:
|
||||
print("Help Files:")
|
||||
try:
|
||||
key = win32api.RegOpenKey(
|
||||
regutil.GetRootKey(),
|
||||
regutil.BuildDefaultPythonKey() + "\\Help",
|
||||
0,
|
||||
win32con.KEY_READ,
|
||||
)
|
||||
except win32api.error as exc:
|
||||
import winerror
|
||||
|
||||
if exc.winerror != winerror.ERROR_FILE_NOT_FOUND:
|
||||
raise
|
||||
return
|
||||
|
||||
try:
|
||||
keyNo = 0
|
||||
while 1:
|
||||
try:
|
||||
helpDesc = win32api.RegEnumKey(key, keyNo)
|
||||
helpFile = win32api.RegQueryValue(key, helpDesc)
|
||||
if verbose:
|
||||
print("\t" + helpDesc + ":", end=" ")
|
||||
# query the os section.
|
||||
try:
|
||||
os.stat(helpFile)
|
||||
if verbose:
|
||||
print(helpFile)
|
||||
except OSError:
|
||||
print("** Help file %s does not exist" % helpFile)
|
||||
keyNo += 1
|
||||
except win32api.error as exc:
|
||||
import winerror
|
||||
|
||||
if exc.winerror != winerror.ERROR_NO_MORE_ITEMS:
|
||||
raise
|
||||
break
|
||||
finally:
|
||||
win32api.RegCloseKey(key)
|
||||
|
||||
|
||||
def CheckRegisteredModules(verbose):
|
||||
# Check out all registered modules.
|
||||
k = regutil.BuildDefaultPythonKey() + "\\Modules"
|
||||
try:
|
||||
keyhandle = win32api.RegOpenKey(regutil.GetRootKey(), k)
|
||||
print("WARNING: 'Modules' registry entry is deprectated and evil!")
|
||||
except win32api.error as exc:
|
||||
import winerror
|
||||
|
||||
if exc.winerror != winerror.ERROR_FILE_NOT_FOUND:
|
||||
raise
|
||||
return
|
||||
|
||||
|
||||
def CheckRegistry(verbose=0):
|
||||
# check the registered modules
|
||||
if verbose and "pythonpath" in os.environ:
|
||||
print("Warning - PythonPath in environment - please check it!")
|
||||
# Check out all paths on sys.path
|
||||
|
||||
CheckPythonPaths(verbose)
|
||||
CheckHelpFiles(verbose)
|
||||
CheckRegisteredModules(verbose)
|
||||
CheckRegisteredExe("Python.exe")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
if len(sys.argv) > 1 and sys.argv[1] == "-q":
|
||||
verbose = 0
|
||||
else:
|
||||
verbose = 1
|
||||
CheckRegistry(verbose)
|
||||
Reference in New Issue
Block a user