gh-95841: IDLE - Revise Windows local doc url (#95845)

#91242 replaced the Windows chm help file with a copy
of the html docs.  This PR replaces the IDLE code that
fetches the Windows local help url passed to os.startfile.
Co-authored-by: Steve Dower
This commit is contained in:
Terry Jan Reedy 2022-08-11 16:54:03 -04:00 committed by GitHub
parent 05a0f37029
commit bdb2cf8e91
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 14 additions and 4 deletions

View File

@ -86,10 +86,20 @@ class EditorWindow:
dochome = os.path.join(basepath, pyver, dochome = os.path.join(basepath, pyver,
'Doc', 'index.html') 'Doc', 'index.html')
elif sys.platform[:3] == 'win': elif sys.platform[:3] == 'win':
chmfile = os.path.join(sys.base_prefix, 'Doc', import winreg # Windows only, block only executed once.
'Python%s.chm' % _sphinx_version()) docfile = ''
if os.path.isfile(chmfile): KEY = (rf"Software\Python\PythonCore\{sys.winver}"
dochome = chmfile r"\Help\Main Python Documentation")
try:
docfile = winreg.QueryValue(winreg.HKEY_CURRENT_USER, KEY)
except FileNotFoundError:
try:
docfile = winreg.QueryValue(winreg.HKEY_LOCAL_MACHINE,
KEY)
except FileNotFoundError:
pass
if os.path.isfile(docfile):
dochome = docfile
elif sys.platform == 'darwin': elif sys.platform == 'darwin':
# documentation may be stored inside a python framework # documentation may be stored inside a python framework
dochome = os.path.join(sys.base_prefix, dochome = os.path.join(sys.base_prefix,