Skip to content
Projeler
Gruplar
Parçacıklar
Yardım
Yükleniyor...
Oturum aç / Kaydol
Gezinmeyi değiştir
C
cpython
Proje
Proje
Ayrıntılar
Etkinlik
Cycle Analytics
Depo (repository)
Depo (repository)
Dosyalar
Kayıtlar (commit)
Dallar (branch)
Etiketler
Katkıda bulunanlar
Grafik
Karşılaştır
Grafikler
Konular (issue)
0
Konular (issue)
0
Liste
Pano
Etiketler
Kilometre Taşları
Birleştirme (merge) Talepleri
0
Birleştirme (merge) Talepleri
0
CI / CD
CI / CD
İş akışları (pipeline)
İşler
Zamanlamalar
Grafikler
Paketler
Paketler
Wiki
Wiki
Parçacıklar
Parçacıklar
Üyeler
Üyeler
Collapse sidebar
Close sidebar
Etkinlik
Grafik
Grafikler
Yeni bir konu (issue) oluştur
İşler
Kayıtlar (commit)
Konu (issue) Panoları
Kenar çubuğunu aç
Batuhan Osman TASKAYA
cpython
Commits
bc8197a2
Kaydet (Commit)
bc8197a2
authored
Haz 22, 2014
tarafından
Giampaolo Rodola'
Dosyalara gözat
Seçenekler
Dosyalara Gözat
İndir
Sade Fark
merge heads
üst
4f2eb812
47d1e285
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
121 additions
and
55 deletions
+121
-55
difflib.py
Lib/difflib.py
+2
-2
test_difflib.py
Lib/test/test_difflib.py
+9
-0
test_pydoc.py
Lib/test/test_pydoc.py
+7
-33
turtle.py
Lib/turtle.py
+1
-1
clock.py
Lib/turtledemo/clock.py
+20
-16
demohelp.txt
Lib/turtledemo/demohelp.txt
+74
-0
minimal_hanoi.py
Lib/turtledemo/minimal_hanoi.py
+7
-3
ACKS
Misc/ACKS
+1
-0
No files found.
Lib/difflib.py
Dosyayı görüntüle @
bc8197a2
...
...
@@ -511,8 +511,8 @@ class SequenceMatcher:
non_adjacent
.
append
((
i1
,
j1
,
k1
))
non_adjacent
.
append
(
(
la
,
lb
,
0
)
)
self
.
matching_blocks
=
non_adjacent
return
map
(
Match
.
_make
,
self
.
matching_blocks
)
self
.
matching_blocks
=
list
(
map
(
Match
.
_make
,
non_adjacent
))
return
self
.
matching_blocks
def
get_opcodes
(
self
):
"""Return list of 5-tuples describing how to turn a into b.
...
...
Lib/test/test_difflib.py
Dosyayı görüntüle @
bc8197a2
...
...
@@ -76,6 +76,15 @@ class TestSFbugs(unittest.TestCase):
diff_gen
=
difflib
.
unified_diff
([],
[])
self
.
assertRaises
(
StopIteration
,
next
,
diff_gen
)
def
test_matching_blocks_cache
(
self
):
# Issue #21635
s
=
difflib
.
SequenceMatcher
(
None
,
"abxcd"
,
"abcd"
)
first
=
s
.
get_matching_blocks
()
second
=
s
.
get_matching_blocks
()
self
.
assertEqual
(
second
[
0
]
.
size
,
2
)
self
.
assertEqual
(
second
[
1
]
.
size
,
2
)
self
.
assertEqual
(
second
[
2
]
.
size
,
0
)
def
test_added_tab_hint
(
self
):
# Check fix for bug #1488943
diff
=
list
(
difflib
.
Differ
()
.
compare
([
"
\t
I am a buggy"
],[
"
\t\t
I am a bug"
]))
...
...
Lib/test/test_pydoc.py
Dosyayı görüntüle @
bc8197a2
...
...
@@ -2,7 +2,6 @@ import os
import
sys
import
builtins
import
contextlib
import
difflib
import
inspect
import
pydoc
import
keyword
...
...
@@ -356,15 +355,6 @@ def get_pydoc_text(module):
output
=
patt
.
sub
(
''
,
output
)
return
output
.
strip
(),
loc
def
print_diffs
(
text1
,
text2
):
"Prints unified diffs for two texts"
# XXX now obsolete, use unittest built-in support
lines1
=
text1
.
splitlines
(
keepends
=
True
)
lines2
=
text2
.
splitlines
(
keepends
=
True
)
diffs
=
difflib
.
unified_diff
(
lines1
,
lines2
,
n
=
0
,
fromfile
=
'expected'
,
tofile
=
'got'
)
print
(
'
\n
'
+
''
.
join
(
diffs
))
def
get_html_title
(
text
):
# Bit of hack, but good enough for test purposes
header
,
_
,
_
=
text
.
partition
(
"</head>"
)
...
...
@@ -414,9 +404,7 @@ class PydocDocTest(unittest.TestCase):
expected_html
=
expected_html_pattern
%
(
(
mod_url
,
mod_file
,
doc_loc
)
+
expected_html_data_docstrings
)
if
result
!=
expected_html
:
print_diffs
(
expected_html
,
result
)
self
.
fail
(
"outputs are not equal, see diff above"
)
self
.
assertEqual
(
result
,
expected_html
)
@unittest.skipIf
(
sys
.
flags
.
optimize
>=
2
,
"Docstrings are omitted with -O2 and above"
)
...
...
@@ -429,9 +417,7 @@ class PydocDocTest(unittest.TestCase):
(
doc_loc
,)
+
expected_text_data_docstrings
+
(
inspect
.
getabsfile
(
pydoc_mod
),))
if
result
!=
expected_text
:
print_diffs
(
expected_text
,
result
)
self
.
fail
(
"outputs are not equal, see diff above"
)
self
.
assertEqual
(
expected_text
,
result
)
def
test_text_enum_member_with_value_zero
(
self
):
# Test issue #20654 to ensure enum member with value 0 can be
...
...
@@ -887,9 +873,7 @@ class PydocWithMetaClasses(unittest.TestCase):
expected_text
=
expected_dynamicattribute_pattern
%
(
(
__name__
,)
+
expected_text_data_docstrings
[:
2
])
result
=
output
.
getvalue
()
.
strip
()
if
result
!=
expected_text
:
print_diffs
(
expected_text
,
result
)
self
.
fail
(
"outputs are not equal, see diff above"
)
self
.
assertEqual
(
expected_text
,
result
)
@unittest.skipIf
(
sys
.
flags
.
optimize
>=
2
,
"Docstrings are omitted with -O2 and above"
)
...
...
@@ -910,9 +894,7 @@ class PydocWithMetaClasses(unittest.TestCase):
helper
(
Class
)
expected_text
=
expected_virtualattribute_pattern1
%
__name__
result
=
output
.
getvalue
()
.
strip
()
if
result
!=
expected_text
:
print_diffs
(
expected_text
,
result
)
self
.
fail
(
"outputs are not equal, see diff above"
)
self
.
assertEqual
(
expected_text
,
result
)
@unittest.skipIf
(
sys
.
flags
.
optimize
>=
2
,
"Docstrings are omitted with -O2 and above"
)
...
...
@@ -952,19 +934,13 @@ class PydocWithMetaClasses(unittest.TestCase):
helper
(
Class1
)
expected_text1
=
expected_virtualattribute_pattern2
%
__name__
result1
=
output
.
getvalue
()
.
strip
()
if
result1
!=
expected_text1
:
print_diffs
(
expected_text1
,
result1
)
fail1
=
True
self
.
assertEqual
(
expected_text1
,
result1
)
output
=
StringIO
()
helper
=
pydoc
.
Helper
(
output
=
output
)
helper
(
Class2
)
expected_text2
=
expected_virtualattribute_pattern3
%
__name__
result2
=
output
.
getvalue
()
.
strip
()
if
result2
!=
expected_text2
:
print_diffs
(
expected_text2
,
result2
)
fail2
=
True
if
fail1
or
fail2
:
self
.
fail
(
"outputs are not equal, see diff above"
)
self
.
assertEqual
(
expected_text2
,
result2
)
@unittest.skipIf
(
sys
.
flags
.
optimize
>=
2
,
"Docstrings are omitted with -O2 and above"
)
...
...
@@ -981,9 +957,7 @@ class PydocWithMetaClasses(unittest.TestCase):
helper
(
C
)
expected_text
=
expected_missingattribute_pattern
%
__name__
result
=
output
.
getvalue
()
.
strip
()
if
result
!=
expected_text
:
print_diffs
(
expected_text
,
result
)
self
.
fail
(
"outputs are not equal, see diff above"
)
self
.
assertEqual
(
expected_text
,
result
)
@reap_threads
...
...
Lib/turtle.py
Dosyayı görüntüle @
bc8197a2
...
...
@@ -2945,7 +2945,7 @@ class RawTurtle(TPen, TNavigator):
self
.
_stretchfactor
=
a11
,
a22
self
.
_shearfactor
=
a12
/
a22
self
.
_tilt
=
alfa
self
.
_update
(
)
self
.
pen
(
resizemode
=
"user"
)
def
_polytrafo
(
self
,
poly
):
...
...
Lib/turtledemo/clock.py
Dosyayı görüntüle @
bc8197a2
...
...
@@ -11,6 +11,7 @@ and time
------------------------------------
"""
from
turtle
import
*
from
turtle
import
Terminator
# not in __all__
from
datetime
import
datetime
mode
(
"logo"
)
...
...
@@ -102,22 +103,25 @@ def tick():
sekunde
=
t
.
second
+
t
.
microsecond
*
0.000001
minute
=
t
.
minute
+
sekunde
/
60.0
stunde
=
t
.
hour
+
minute
/
60.0
tracer
(
False
)
writer
.
clear
()
writer
.
home
()
writer
.
forward
(
65
)
writer
.
write
(
wochentag
(
t
),
align
=
"center"
,
font
=
(
"Courier"
,
14
,
"bold"
))
writer
.
back
(
150
)
writer
.
write
(
datum
(
t
),
align
=
"center"
,
font
=
(
"Courier"
,
14
,
"bold"
))
writer
.
forward
(
85
)
tracer
(
True
)
second_hand
.
setheading
(
6
*
sekunde
)
minute_hand
.
setheading
(
6
*
minute
)
hour_hand
.
setheading
(
30
*
stunde
)
tracer
(
True
)
ontimer
(
tick
,
100
)
try
:
tracer
(
False
)
# Terminator can occur here
writer
.
clear
()
writer
.
home
()
writer
.
forward
(
65
)
writer
.
write
(
wochentag
(
t
),
align
=
"center"
,
font
=
(
"Courier"
,
14
,
"bold"
))
writer
.
back
(
150
)
writer
.
write
(
datum
(
t
),
align
=
"center"
,
font
=
(
"Courier"
,
14
,
"bold"
))
writer
.
forward
(
85
)
tracer
(
True
)
second_hand
.
setheading
(
6
*
sekunde
)
# or here
minute_hand
.
setheading
(
6
*
minute
)
hour_hand
.
setheading
(
30
*
stunde
)
tracer
(
True
)
ontimer
(
tick
,
100
)
except
Terminator
:
pass
# turtledemo user pressed STOP
def
main
():
tracer
(
False
)
...
...
Lib/turtledemo/demohelp.txt
0 → 100644
Dosyayı görüntüle @
bc8197a2
----------------------------------------------
turtleDemo - Help
----------------------------------------------
This document has two sections:
(1) How to use the demo viewer
(2) How to add your own demos to the demo repository
(1) How to use the demo viewer.
Select a demoscript from the example menu.
The (syntax coloured) source code appears in the left
source code window. IT CANNOT BE EDITED, but ONLY VIEWED!
- Press START button to start the demo.
- Stop execution by pressing the STOP button.
- Clear screen by pressing the CLEAR button.
- Restart by pressing the START button again.
SPECIAL demos are those which run EVENTDRIVEN.
(For example clock.py - or oldTurtleDemo.py which
in the end expects a mouse click.):
Press START button to start the demo.
- Until the EVENTLOOP is entered everything works
as in an ordinary demo script.
- When the EVENTLOOP is entered, you control the
application by using the mouse and/or keys (or it's
controlled by some timer events)
To stop it you can and must press the STOP button.
While the EVENTLOOP is running, the examples menu is disabled.
- Only after having pressed the STOP button, you may
restart it or choose another example script.
* * * * * * * *
In some rare situations there may occur interferences/conflicts
between events concerning the demo script and those concerning the
demo-viewer. (They run in the same process.) Strange behaviour may be
the consequence and in the worst case you must close and restart the
viewer.
* * * * * * * *
(2) How to add your own demos to the demo repository
- place: 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.)
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.)
Lib/turtledemo/minimal_hanoi.py
Dosyayı görüntüle @
bc8197a2
...
...
@@ -18,6 +18,7 @@ stretched to rectangles by shapesize()
---------------------------------------
"""
from
turtle
import
*
from
turtle
import
Terminator
# not in __all__
class
Disc
(
Turtle
):
def
__init__
(
self
,
n
):
...
...
@@ -50,9 +51,12 @@ def hanoi(n, from_, with_, to_):
def
play
():
onkey
(
None
,
"space"
)
clear
()
hanoi
(
6
,
t1
,
t2
,
t3
)
write
(
"press STOP button to exit"
,
align
=
"center"
,
font
=
(
"Courier"
,
16
,
"bold"
))
try
:
hanoi
(
6
,
t1
,
t2
,
t3
)
write
(
"press STOP button to exit"
,
align
=
"center"
,
font
=
(
"Courier"
,
16
,
"bold"
))
except
Terminator
:
pass
# turtledemo user pressed STOP
def
main
():
global
t1
,
t2
,
t3
...
...
Misc/ACKS
Dosyayı görüntüle @
bc8197a2
...
...
@@ -236,6 +236,7 @@ Ingrid Cheung
Albert Chin-A-Young
Adal Chiriliuc
Matt Chisholm
Lita Cho
Anders Chrigström
Tom Christiansen
Vadim Chugunov
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment