mirror of
https://github.com/python/cpython.git
synced 2024-12-01 03:01:36 +01:00
9ece4a5057
There are plenty of legitimate scripts in the tree that begin with a `#!`, but also a few that seem to be marked executable by mistake. Found them with this command -- it gets executable files known to Git, filters to the ones that don't start with a `#!`, and then unmarks them as executable: $ git ls-files --stage \ | perl -lane 'print $F[3] if (!/^100644/)' \ | while read f; do head -c2 "$f" | grep -qxF '#!' \ || chmod a-x "$f"; \ done Looking at the list by hand confirms that we didn't sweep up any files that should have the executable bit after all. In particular * The `.psd` files are images from Photoshop. * The `.bat` files sure look like things that can be run. But we have lots of other `.bat` files, and they don't have this bit set, so it must not be needed for them. Automerge-Triggered-By: @benjaminp
55 lines
1.1 KiB
Python
55 lines
1.1 KiB
Python
"""turtledemo.two_canvases
|
|
|
|
Use TurtleScreen and RawTurtle to draw on two
|
|
distinct canvases in a separate windows. The
|
|
new window must be separately closed in
|
|
addition to pressing the STOP button.
|
|
"""
|
|
|
|
from turtle import TurtleScreen, RawTurtle, TK
|
|
|
|
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)
|
|
|
|
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)
|
|
|
|
for t in p,q:
|
|
t.shape("turtle")
|
|
t.lt(36)
|
|
|
|
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)
|
|
|
|
return "EVENTLOOP"
|
|
|
|
|
|
if __name__ == '__main__':
|
|
main()
|
|
TK.mainloop() # keep window open until user closes it
|