From: Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com> Date: Fri, 12 Aug 2022 00:11:17 +0000 (-0700) Subject: gh-95841: IDLE - Revise Windows local doc url (GH-95845) (#95905) X-Git-Tag: v3.11.0rc2~123 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=577dbc3c49615896d5b6fbf0cb25eebd4d28624a;p=thirdparty%2FPython%2Fcpython.git 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 Co-authored-by: Steve Dower Approved by Steve Dower, #95845 (review), 2nd subblock. (cherry picked from commit bdb2cf8e913c041f26e8976abe58414819b3e8ff) --- diff --git a/Lib/idlelib/editor.py b/Lib/idlelib/editor.py index 859a288b4bc6..08d6aa2efde2 100644 --- a/Lib/idlelib/editor.py +++ b/Lib/idlelib/editor.py @@ -86,10 +86,20 @@ class EditorWindow: 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,