[Python-checkins] gh-95841: IDLE - Revise Windows local doc url (GH-95845) (#95905)
terryjreedy
webhook-mailer at python.org
Thu Aug 11 20:11:51 EDT 2022
https://github.com/python/cpython/commit/577dbc3c49615896d5b6fbf0cb25eebd4d28624a
commit: 577dbc3c49615896d5b6fbf0cb25eebd4d28624a
branch: 3.11
author: Miss Islington (bot) <31488909+miss-islington at users.noreply.github.com>
committer: terryjreedy <tjreedy at udel.edu>
date: 2022-08-11T20:11:17-04:00
summary:
gh-95841: IDLE - Revise Windows local doc url (GH-95845) (#95905)
GH-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: Terry Jan Reedy <tjreedy at udel.edu>
Co-authored-by: Steve Dower
Approved by Steve Dower, #95845 (review), 2nd subblock.
(cherry picked from commit bdb2cf8e913c041f26e8976abe58414819b3e8ff)
files:
M Lib/idlelib/editor.py
diff --git a/Lib/idlelib/editor.py b/Lib/idlelib/editor.py
index 859a288b4bc..08d6aa2efde 100644
--- a/Lib/idlelib/editor.py
+++ b/Lib/idlelib/editor.py
@@ -86,10 +86,20 @@ def __init__(self, flist=None, filename=None, key=None, root=None):
dochome = os.path.join(basepath, pyver,
'Doc', 'index.html')
elif sys.platform[:3] == 'win':
- chmfile = os.path.join(sys.base_prefix, 'Doc',
- 'Python%s.chm' % _sphinx_version())
- if os.path.isfile(chmfile):
- dochome = chmfile
+ import winreg # Windows only, block only executed once.
+ docfile = ''
+ KEY = (rf"Software\Python\PythonCore\{sys.winver}"
+ 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':
# documentation may be stored inside a python framework
dochome = os.path.join(sys.base_prefix,
More information about the Python-checkins
mailing list