[Python-checkins] cpython (3.4): Issue #14117: Inprove help text and docstrings, some for clarity, some just to

terry.reedy python-checkins at python.org
Wed Jun 25 04:22:19 CEST 2014


http://hg.python.org/cpython/rev/713a774ca68a
changeset:   91382:713a774ca68a
branch:      3.4
parent:      91378:958e8bebda6d
user:        Terry Jan Reedy <tjreedy at udel.edu>
date:        Tue Jun 24 22:21:41 2014 -0400
summary:
  Issue #14117: Inprove help text and docstrings, some for clarity, some just to
fit in the default width of the text window (45 chars).

files:
  Lib/turtledemo/demohelp.txt       |  36 +++++++++++-------
  Lib/turtledemo/forest.py          |  11 ++---
  Lib/turtledemo/paint.py           |  12 ++++--
  Lib/turtledemo/peace.py           |  16 +++-----
  Lib/turtledemo/planet_and_moon.py |  11 ++---
  Lib/turtledemo/tree.py            |   6 +-
  Lib/turtledemo/two_canvases.py    |  16 ++++++--
  7 files changed, 60 insertions(+), 48 deletions(-)


diff --git a/Lib/turtledemo/demohelp.txt b/Lib/turtledemo/demohelp.txt
--- a/Lib/turtledemo/demohelp.txt
+++ b/Lib/turtledemo/demohelp.txt
@@ -53,22 +53,28 @@
 
    (2) How to add your own demos to the demo repository
 
-   - place: same directory as turtledemo/__main__.py
+   - Place the file in the same directory as turtledemo/__main__.py
 
-   - requirements on source code:
-       code must contain a main() function which will
-       be executed by the viewer (see provided example scripts)
-       main() may return a string which will be displayed
-       in the Label below the source code window (when execution
-       has finished.)
+   - The code must contain a main() function which will
+     be executed by the viewer (see provided example scripts).
+     It may return a string which will be displayed in the Label below
+     the source code window (when execution has finished.)
 
-       If the demo is EVENT DRIVEN, main must return the string
-       "EVENTLOOP". This informs the demo viewer that the script is
-       still running and must be stopped by the user!
+   - In order to run mydemo.py by itself, such as during development,
+     add the following at the end of the file:
 
-       If an "EVENTLOOP" demo runs by itself, as with clock, which uses
-       ontimer, or minimal_hanoi, which loops by recursion, then the
-       code should catch the turtle.Terminator exception that will be
-       raised when the user presses the STOP button.  (Paint is not such
-       a demo; it only acts in response to mouse clicks and movements.)
+    if __name__ == '__main__':
+        main()
+        mainloop()  # keep window
 
+    python -m turtledemo.mydemo  # will then run it
+
+   - If the demo is EVENT DRIVEN, main must return the string
+     "EVENTLOOP". This informs the demo viewer that the script is
+     still running and must be stopped by the user!
+
+     If an "EVENTLOOP" demo runs by itself, as with clock, which uses
+     ontimer, or minimal_hanoi, which loops by recursion, then the
+     code should catch the turtle.Terminator exception that will be
+     raised when the user presses the STOP button.  (Paint is not such
+     a demo; it only acts in response to mouse clicks and movements.)
diff --git a/Lib/turtledemo/forest.py b/Lib/turtledemo/forest.py
--- a/Lib/turtledemo/forest.py
+++ b/Lib/turtledemo/forest.py
@@ -3,12 +3,12 @@
 
              tdemo_forest.py
 
-Displays a 'forest' of 3 'breadth-first-trees'
-similar to the one from example tree.
-For further remarks see xtx_tree.py
+Displays a 'forest' of 3 breadth-first-trees
+similar to the one in tree.
+For further remarks see tree.py
 
 This example is a 'breadth-first'-rewrite of
-a Logo program written by Erich Neuwirth. See:
+a Logo program written by Erich Neuwirth. See
 http://homepage.univie.ac.at/erich.neuwirth/
 """
 from turtle import Turtle, colormode, tracer, mainloop
@@ -104,6 +104,5 @@
     return "runtime: %.2f sec." % (b-a)
 
 if __name__ == '__main__':
-    msg = main()
-    print(msg)
+    main()
     mainloop()
diff --git a/Lib/turtledemo/paint.py b/Lib/turtledemo/paint.py
--- a/Lib/turtledemo/paint.py
+++ b/Lib/turtledemo/paint.py
@@ -3,11 +3,15 @@
 
             tdemo_paint.py
 
-A simple  eventdriven paint program
+A simple  event-driven paint program
 
-- use left mouse button to move turtle
-- middle mouse button to change color
-- right mouse button do turn filling on/off
+- left mouse button moves turtle
+- middle mouse button changes color
+- right mouse button toogles betweem pen up
+(no line drawn when the turtle moves) and
+pen down (line is drawn). If pen up follows
+at least two pen-down moves, the polygon that
+includes the starting point is filled.
  -------------------------------------------
  Play around by clicking into the canvas
  using all three mouse buttons.
diff --git a/Lib/turtledemo/peace.py b/Lib/turtledemo/peace.py
--- a/Lib/turtledemo/peace.py
+++ b/Lib/turtledemo/peace.py
@@ -3,14 +3,10 @@
 
               tdemo_peace.py
 
-A very simple drawing suitable as a beginner's
-programming example.
-
-Uses only commands, which are also available in
-old turtle.py.
-
-Intentionally no variables are used except for the
-colorloop:
+A simple drawing suitable as a beginner's
+programming example. Aside from the
+peacecolors assignment and the for loop,
+it only uses turtle commands.
 """
 
 from turtle import *
@@ -21,7 +17,7 @@
                    "royalblue1", "dodgerblue4")
 
     reset()
-    s = Screen()
+    Screen()
     up()
     goto(-320,-195)
     width(70)
@@ -58,7 +54,7 @@
     up()
 
     goto(0,300) # vanish if hideturtle() is not available ;-)
-    return "Done!!"
+    return "Done!"
 
 if __name__ == "__main__":
     main()
diff --git a/Lib/turtledemo/planet_and_moon.py b/Lib/turtledemo/planet_and_moon.py
--- a/Lib/turtledemo/planet_and_moon.py
+++ b/Lib/turtledemo/planet_and_moon.py
@@ -12,9 +12,9 @@
 Planet has a circular orbit, moon a stable
 orbit around the planet.
 
-You can hold the movement temporarily by pressing
-the left mouse button with mouse over the
-scrollbar of the canvas.
+You can hold the movement temporarily by
+pressing the left mouse button with the
+mouse over the scrollbar of the canvas.
 
 """
 from turtle import Shape, Turtle, mainloop, Vec2D as Vec
@@ -108,6 +108,5 @@
     return "Done!"
 
 if __name__ == '__main__':
-    msg = main()
-    print(msg)
-    #mainloop()
+    main()
+    mainloop()
diff --git a/Lib/turtledemo/tree.py b/Lib/turtledemo/tree.py
--- a/Lib/turtledemo/tree.py
+++ b/Lib/turtledemo/tree.py
@@ -11,9 +11,9 @@
 (1) a tree-generator, where the drawing is
 quasi the side-effect, whereas the generator
 always yields None.
-(2) Turtle-cloning: At each branching point the
-current pen is cloned. So in the end there
-are 1024 turtles.
+(2) Turtle-cloning: At each branching point
+the current pen is cloned. So in the end
+there are 1024 turtles.
 """
 from turtle import Turtle, mainloop
 from time import clock
diff --git a/Lib/turtledemo/two_canvases.py b/Lib/turtledemo/two_canvases.py
--- a/Lib/turtledemo/two_canvases.py
+++ b/Lib/turtledemo/two_canvases.py
@@ -1,8 +1,16 @@
-#!/usr/bin/env python3
-## DEMONSTRATES USE OF 2 CANVASES, SO CANNOT BE RUN IN DEMOVIEWER!
-"""turtle example: Using TurtleScreen and RawTurtle
-for drawing on two distinct canvases.
+"""turtledemo.two_canvases
+
+Use TurtleScreen and RawTurtle to draw on two
+distinct canvases.
 """
+#The final mainloop only serves to keep the window open.
+
+#TODO: This runs in its own two-canvas window when selected in the
+#demoviewer examples menu but the text is not loaded and the previous
+#example is left visible. If the ending mainloop is removed, the text
+#Eis loaded, this run again in a third window, and if start is pressed,
+#demoviewer raises an error because main is not found, and  then freezes.
+
 from turtle import TurtleScreen, RawTurtle, TK
 
 root = TK.Tk()

-- 
Repository URL: http://hg.python.org/cpython


More information about the Python-checkins mailing list