diff options
Diffstat (limited to 'Lib/idlelib/help.py')
-rw-r--r-- | Lib/idlelib/help.py | 30 |
1 files changed, 27 insertions, 3 deletions
diff --git a/Lib/idlelib/help.py b/Lib/idlelib/help.py index b31596c..a7008e9 100644 --- a/Lib/idlelib/help.py +++ b/Lib/idlelib/help.py @@ -11,7 +11,7 @@ Help => IDLE Help: Display help.html with proper formatting. Doc/library/idle.rst (Sphinx)=> Doc/build/html/library/idle.html (help.copy_strip)=> Lib/idlelib/help.html -HelpParser - Parse help.html and and render to tk Text. +HelpParser - Parse help.html and render to tk Text. HelpText - Display formatted help.html. @@ -26,6 +26,7 @@ show_idlehelp - Create HelpWindow. Called in EditorWindow.help_dialog. """ from html.parser import HTMLParser from os.path import abspath, dirname, isdir, isfile, join +from platform import python_version from tkinter import Tk, Toplevel, Frame, Text, Scrollbar, Menu, Menubutton from tkinter import font as tkfont from idlelib.configHandler import idleConf @@ -45,6 +46,8 @@ class HelpParser(HTMLParser): The overridden handle_xyz methods handle a subset of html tags. The supplied text should have the needed tag configurations. The behavior for unsupported tags, such as table, is undefined. + If the tags generated by Sphinx change, this class, especially + the handle_starttag and handle_endtags methods, might have to also. """ def __init__(self, text): HTMLParser.__init__(self, convert_charrefs=True) @@ -226,7 +229,28 @@ class HelpWindow(Toplevel): def copy_strip(): - "Copy idle.html to idlelib/help.html, stripping trailing whitespace." + """Copy idle.html to idlelib/help.html, stripping trailing whitespace. + + Files with trailing whitespace cannot be pushed to the hg cpython + repository. For 3.x (on Windows), help.html is generated, after + editing idle.rst in the earliest maintenance version, with + sphinx-build -bhtml . build/html + python_d.exe -c "from idlelib.help import copy_strip; copy_strip()" + After refreshing TortoiseHG workshop to generate a diff, + check both the diff and displayed text. Push the diff along with + the idle.rst change and merge both into default (or an intermediate + maintenance version). + + When the 'earlist' version gets its final maintenance release, + do an update as described above, without editing idle.rst, to + rebase help.html on the next version of idle.rst. Do not worry + about version changes as version is not displayed. Examine other + changes and the result of Help -> IDLE Help. + + If maintenance and default versions of idle.rst diverge, and + merging does not go smoothly, then consider generating + separate help.html files from separate idle.htmls. + """ src = join(abspath(dirname(dirname(dirname(__file__)))), 'Doc', 'build', 'html', 'library', 'idle.html') dst = join(abspath(dirname(__file__)), 'help.html') @@ -242,7 +266,7 @@ def show_idlehelp(parent): if not isfile(filename): # try copy_strip, present message return - HelpWindow(parent, filename, 'IDLE Help') + HelpWindow(parent, filename, 'IDLE Help (%s)' % python_version()) if __name__ == '__main__': from idlelib.idle_test.htest import run |