[Python-checkins] cpython (merge 3.4 -> default): Merge with 3.4
terry.reedy
python-checkins at python.org
Mon Jun 30 22:10:18 CEST 2014
http://hg.python.org/cpython/rev/3134189655b1
changeset: 91489:3134189655b1
parent: 91486:2d0fa8f383c8
parent: 91488:fcfa9c5a00fd
user: Terry Jan Reedy <tjreedy at udel.edu>
date: Mon Jun 30 16:09:44 2014 -0400
summary:
Merge with 3.4
files:
Lib/turtle.py | 2 +-
Lib/turtledemo/clock.py | 6 +-
Lib/turtledemo/colormixer.py | 2 -
Lib/turtledemo/demohelp.txt | 5 +-
Lib/turtledemo/minimal_hanoi.py | 1 -
Lib/turtledemo/nim.py | 10 +-
Lib/turtledemo/two_canvases.py | 80 +++++++++-----------
7 files changed, 48 insertions(+), 58 deletions(-)
diff --git a/Lib/turtle.py b/Lib/turtle.py
--- a/Lib/turtle.py
+++ b/Lib/turtle.py
@@ -140,7 +140,7 @@
_tg_utilities = ['write_docstringdict', 'done']
__all__ = (_tg_classes + _tg_screen_functions + _tg_turtle_functions +
- _tg_utilities) # + _math_functions)
+ _tg_utilities + ['Terminator']) # + _math_functions)
_alias_list = ['addshape', 'backward', 'bk', 'fd', 'ht', 'lt', 'pd', 'pos',
'pu', 'rt', 'seth', 'setpos', 'setposition', 'st',
diff --git a/Lib/turtledemo/clock.py b/Lib/turtledemo/clock.py
--- a/Lib/turtledemo/clock.py
+++ b/Lib/turtledemo/clock.py
@@ -11,11 +11,8 @@
------------------------------------
"""
from turtle import *
-from turtle import Terminator # not in __all__
from datetime import datetime
-mode("logo")
-
def jump(distanz, winkel=0):
penup()
right(winkel)
@@ -43,7 +40,6 @@
hand_form = get_poly()
register_shape(name, hand_form)
-
def clockface(radius):
reset()
pensize(7)
@@ -84,7 +80,6 @@
writer.pu()
writer.bk(85)
-
def wochentag(t):
wochentag = ["Monday", "Tuesday", "Wednesday",
"Thursday", "Friday", "Saturday", "Sunday"]
@@ -131,6 +126,7 @@
return "EVENTLOOP"
if __name__ == "__main__":
+ mode("logo")
msg = main()
print(msg)
mainloop()
diff --git a/Lib/turtledemo/colormixer.py b/Lib/turtledemo/colormixer.py
--- a/Lib/turtledemo/colormixer.py
+++ b/Lib/turtledemo/colormixer.py
@@ -1,8 +1,6 @@
# colormixer
from turtle import Screen, Turtle, mainloop
-import sys
-sys.setrecursionlimit(20000) # overcomes, for now, an instability of Python 3.0
class ColorTurtle(Turtle):
diff --git a/Lib/turtledemo/demohelp.txt b/Lib/turtledemo/demohelp.txt
--- a/Lib/turtledemo/demohelp.txt
+++ b/Lib/turtledemo/demohelp.txt
@@ -54,6 +54,9 @@
(2) How to add your own demos to the demo repository
- Place the file in the same directory as turtledemo/__main__.py
+ IMPORTANT! When imported, the demo should not modify the system
+ by calling functions in other modules, such as sys, tkinter, or
+ turtle. Global variables should be initialized in main().
- The code must contain a main() function which will
be executed by the viewer (see provided example scripts).
@@ -65,7 +68,7 @@
if __name__ == '__main__':
main()
- mainloop() # keep window
+ mainloop() # keep window open
python -m turtledemo.mydemo # will then run it
diff --git a/Lib/turtledemo/minimal_hanoi.py b/Lib/turtledemo/minimal_hanoi.py
--- a/Lib/turtledemo/minimal_hanoi.py
+++ b/Lib/turtledemo/minimal_hanoi.py
@@ -18,7 +18,6 @@
---------------------------------------
"""
from turtle import *
-from turtle import Terminator # not in __all__
class Disc(Turtle):
def __init__(self, n):
diff --git a/Lib/turtledemo/nim.py b/Lib/turtledemo/nim.py
--- a/Lib/turtledemo/nim.py
+++ b/Lib/turtledemo/nim.py
@@ -143,7 +143,6 @@
self.writer.write(msg1, align="center", font=("Courier",14,"bold"))
self.screen.tracer(True)
-
def setup(self):
self.screen.tracer(False)
for row in range(3):
@@ -181,6 +180,7 @@
if self.game.state == Nim.OVER:
self.screen.clear()
+
class NimController(object):
def __init__(self, game):
@@ -201,6 +201,7 @@
self.game.model.notify_move(row, col)
self.BUSY = False
+
class Nim(object):
CREATED = 0
RUNNING = 1
@@ -213,11 +214,10 @@
self.controller = NimController(self)
-mainscreen = turtle.Screen()
-mainscreen.mode("standard")
-mainscreen.setup(SCREENWIDTH, SCREENHEIGHT)
-
def main():
+ mainscreen = turtle.Screen()
+ mainscreen.mode("standard")
+ mainscreen.setup(SCREENWIDTH, SCREENHEIGHT)
nim = Nim(mainscreen)
return "EVENTLOOP!"
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,60 +1,54 @@
"""turtledemo.two_canvases
Use TurtleScreen and RawTurtle to draw on two
-distinct canvases.
+distinct canvases in a separate windows. The
+new window must be separately closed in
+addition to pressing the STOP button.
"""
-#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()
-cv1 = TK.Canvas(root, width=300, height=200, bg="#ddffff")
-cv2 = TK.Canvas(root, width=300, height=200, bg="#ffeeee")
-cv1.pack()
-cv2.pack()
+def main():
+ root = TK.Tk()
+ cv1 = TK.Canvas(root, width=300, height=200, bg="#ddffff")
+ cv2 = TK.Canvas(root, width=300, height=200, bg="#ffeeee")
+ cv1.pack()
+ cv2.pack()
-s1 = TurtleScreen(cv1)
-s1.bgcolor(0.85, 0.85, 1)
-s2 = TurtleScreen(cv2)
-s2.bgcolor(1, 0.85, 0.85)
+ s1 = TurtleScreen(cv1)
+ s1.bgcolor(0.85, 0.85, 1)
+ s2 = TurtleScreen(cv2)
+ s2.bgcolor(1, 0.85, 0.85)
-p = RawTurtle(s1)
-q = RawTurtle(s2)
+ p = RawTurtle(s1)
+ q = RawTurtle(s2)
-p.color("red", (1, 0.85, 0.85))
-p.width(3)
-q.color("blue", (0.85, 0.85, 1))
-q.width(3)
+ p.color("red", (1, 0.85, 0.85))
+ p.width(3)
+ q.color("blue", (0.85, 0.85, 1))
+ q.width(3)
-for t in p,q:
- t.shape("turtle")
- t.lt(36)
+ for t in p,q:
+ t.shape("turtle")
+ t.lt(36)
-q.lt(180)
+ q.lt(180)
-for t in p, q:
- t.begin_fill()
-for i in range(5):
for t in p, q:
- t.fd(50)
- t.lt(72)
-for t in p,q:
- t.end_fill()
- t.lt(54)
- t.pu()
- t.bk(50)
+ t.begin_fill()
+ for i in range(5):
+ for t in p, q:
+ t.fd(50)
+ t.lt(72)
+ for t in p,q:
+ t.end_fill()
+ t.lt(54)
+ t.pu()
+ t.bk(50)
-## Want to get some info?
+ return "EVENTLOOP"
-#print(s1, s2)
-#print(p, q)
-#print(s1.turtles())
-#print(s2.turtles())
-TK.mainloop()
+if __name__ == '__main__':
+ main()
+ TK.mainloop() # keep window open until user closes it
--
Repository URL: http://hg.python.org/cpython
More information about the Python-checkins
mailing list