summaryrefslogtreecommitdiffstats
path: root/Lib
diff options
context:
space:
mode:
authorTerry Jan Reedy <tjreedy@udel.edu>2014-07-25 05:56:24 (GMT)
committerTerry Jan Reedy <tjreedy@udel.edu>2014-07-25 05:56:24 (GMT)
commit280aace067e7df3b706c09e27b044dfea3bacaff (patch)
tree9d07ab60bf0775fc4e35bbd56eb0bdc17889f65a /Lib
parentfea6a100dc51012cb0187374ad31de330ebc0035 (diff)
downloadcpython-280aace067e7df3b706c09e27b044dfea3bacaff.zip
cpython-280aace067e7df3b706c09e27b044dfea3bacaff.tar.gz
cpython-280aace067e7df3b706c09e27b044dfea3bacaff.tar.bz2
Issue #22053: Make help work, after previous patch for this issue disabled it
by removing global 'demo'. Refactor and remove duplicate code.
Diffstat (limited to 'Lib')
-rwxr-xr-xLib/turtledemo/__main__.py26
1 files changed, 9 insertions, 17 deletions
diff --git a/Lib/turtledemo/__main__.py b/Lib/turtledemo/__main__.py
index 0c151a3..92b6186 100755
--- a/Lib/turtledemo/__main__.py
+++ b/Lib/turtledemo/__main__.py
@@ -27,17 +27,11 @@ def getExampleEntries():
return [entry[:-3] for entry in os.listdir(demo_dir) if
entry.endswith(".py") and entry[0] != '_']
-def showDemoHelp():
- view_file(demo.root, "Help on turtleDemo",
- os.path.join(demo_dir, "demohelp.txt"))
-
-def showAboutDemo():
- view_file(demo.root, "About turtleDemo",
- os.path.join(demo_dir, "about_turtledemo.txt"))
-
-def showAboutTurtle():
- view_file(demo.root, "About the new turtle module.",
- os.path.join(demo_dir, "about_turtle.txt"))
+help_entries = ( # (help_label, help_file)
+ ('Turtledemo help', "demohelp.txt"),
+ ('About turtledemo', "about_turtledemo.txt"),
+ ('About turtle module', "about_turtle.txt"),
+ )
class DemoWindow(object):
@@ -177,12 +171,10 @@ class DemoWindow(object):
CmdBtn.pack(side=LEFT, padx='2m')
CmdBtn.menu = Menu(CmdBtn)
- CmdBtn.menu.add_command(label='About turtle.py', font=menufont,
- command=showAboutTurtle)
- CmdBtn.menu.add_command(label='turtleDemo - Help', font=menufont,
- command=showDemoHelp)
- CmdBtn.menu.add_command(label='About turtleDemo', font=menufont,
- command=showAboutDemo)
+ for help_label, help_file in help_entries:
+ def show(help_label=help_label, help_file=help_file):
+ view_file(self.root, help_label, os.path.join(demo_dir, help_file))
+ CmdBtn.menu.add_command(label=help_label, font=menufont, command=show)
CmdBtn['menu'] = CmdBtn.menu
return CmdBtn