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
fd0d3e5d
Kaydet (Commit)
fd0d3e5d
authored
Eki 01, 2012
tarafından
Philip Jenvey
Dosyalara gözat
Seçenekler
Dosyalara Gözat
İndir
Eposta Yamaları
Sade Fark
more yield from
patch by Serhiy Storchaka
üst
8bfcf51b
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
22 additions
and
39 deletions
+22
-39
cookiejar.py
Lib/http/cookiejar.py
+1
-2
encoder.py
Lib/json/encoder.py
+5
-10
ElementPath.py
Lib/xml/etree/ElementPath.py
+2
-4
ElementTree.py
Lib/xml/etree/ElementTree.py
+2
-4
importbench.py
Tools/importbench/importbench.py
+12
-19
No files found.
Lib/http/cookiejar.py
Dosyayı görüntüle @
fd0d3e5d
...
...
@@ -1193,8 +1193,7 @@ def deepvalues(mapping):
pass
else
:
mapping
=
True
for
subobj
in
deepvalues
(
obj
):
yield
subobj
yield
from
deepvalues
(
obj
)
if
not
mapping
:
yield
obj
...
...
Lib/json/encoder.py
Dosyayı görüntüle @
fd0d3e5d
...
...
@@ -305,8 +305,7 @@ def _make_iterencode(markers, _default, _encoder, _indent, _floatstr,
chunks
=
_iterencode_dict
(
value
,
_current_indent_level
)
else
:
chunks
=
_iterencode
(
value
,
_current_indent_level
)
for
chunk
in
chunks
:
yield
chunk
yield
from
chunks
if
newline_indent
is
not
None
:
_current_indent_level
-=
1
yield
'
\n
'
+
_indent
*
_current_indent_level
...
...
@@ -381,8 +380,7 @@ def _make_iterencode(markers, _default, _encoder, _indent, _floatstr,
chunks
=
_iterencode_dict
(
value
,
_current_indent_level
)
else
:
chunks
=
_iterencode
(
value
,
_current_indent_level
)
for
chunk
in
chunks
:
yield
chunk
yield
from
chunks
if
newline_indent
is
not
None
:
_current_indent_level
-=
1
yield
'
\n
'
+
_indent
*
_current_indent_level
...
...
@@ -404,11 +402,9 @@ def _make_iterencode(markers, _default, _encoder, _indent, _floatstr,
elif
isinstance
(
o
,
float
):
yield
_floatstr
(
o
)
elif
isinstance
(
o
,
(
list
,
tuple
)):
for
chunk
in
_iterencode_list
(
o
,
_current_indent_level
):
yield
chunk
yield
from
_iterencode_list
(
o
,
_current_indent_level
)
elif
isinstance
(
o
,
dict
):
for
chunk
in
_iterencode_dict
(
o
,
_current_indent_level
):
yield
chunk
yield
from
_iterencode_dict
(
o
,
_current_indent_level
)
else
:
if
markers
is
not
None
:
markerid
=
id
(
o
)
...
...
@@ -416,8 +412,7 @@ def _make_iterencode(markers, _default, _encoder, _indent, _floatstr,
raise
ValueError
(
"Circular reference detected"
)
markers
[
markerid
]
=
o
o
=
_default
(
o
)
for
chunk
in
_iterencode
(
o
,
_current_indent_level
):
yield
chunk
yield
from
_iterencode
(
o
,
_current_indent_level
)
if
markers
is
not
None
:
del
markers
[
markerid
]
return
_iterencode
Lib/xml/etree/ElementPath.py
Dosyayı görüntüle @
fd0d3e5d
...
...
@@ -105,14 +105,12 @@ def prepare_child(next, token):
def
prepare_star
(
next
,
token
):
def
select
(
context
,
result
):
for
elem
in
result
:
for
e
in
elem
:
yield
e
yield
from
elem
return
select
def
prepare_self
(
next
,
token
):
def
select
(
context
,
result
):
for
elem
in
result
:
yield
elem
yield
from
result
return
select
def
prepare_descendant
(
next
,
token
):
...
...
Lib/xml/etree/ElementTree.py
Dosyayı görüntüle @
fd0d3e5d
...
...
@@ -459,8 +459,7 @@ class Element:
if
tag
is
None
or
self
.
tag
==
tag
:
yield
self
for
e
in
self
.
_children
:
for
e
in
e
.
iter
(
tag
):
yield
e
yield
from
e
.
iter
(
tag
)
# compatibility
def
getiterator
(
self
,
tag
=
None
):
...
...
@@ -487,8 +486,7 @@ class Element:
if
self
.
text
:
yield
self
.
text
for
e
in
self
:
for
s
in
e
.
itertext
():
yield
s
yield
from
e
.
itertext
()
if
e
.
tail
:
yield
e
.
tail
...
...
Tools/importbench/importbench.py
Dosyayı görüntüle @
fd0d3e5d
...
...
@@ -46,8 +46,7 @@ def from_cache(seconds, repeat):
module
.
__package__
=
''
with
util
.
uncache
(
name
):
sys
.
modules
[
name
]
=
module
for
result
in
bench
(
name
,
repeat
=
repeat
,
seconds
=
seconds
):
yield
result
yield
from
bench
(
name
,
repeat
=
repeat
,
seconds
=
seconds
)
def
builtin_mod
(
seconds
,
repeat
):
...
...
@@ -56,9 +55,8 @@ def builtin_mod(seconds, repeat):
if
name
in
sys
.
modules
:
del
sys
.
modules
[
name
]
# Relying on built-in importer being implicit.
for
result
in
bench
(
name
,
lambda
:
sys
.
modules
.
pop
(
name
),
repeat
=
repeat
,
seconds
=
seconds
):
yield
result
yield
from
bench
(
name
,
lambda
:
sys
.
modules
.
pop
(
name
),
repeat
=
repeat
,
seconds
=
seconds
)
def
source_wo_bytecode
(
seconds
,
repeat
):
...
...
@@ -73,9 +71,8 @@ def source_wo_bytecode(seconds, repeat):
loader
=
(
importlib
.
machinery
.
SourceFileLoader
,
importlib
.
machinery
.
SOURCE_SUFFIXES
,
True
)
sys
.
path_hooks
.
append
(
importlib
.
machinery
.
FileFinder
.
path_hook
(
loader
))
for
result
in
bench
(
name
,
lambda
:
sys
.
modules
.
pop
(
name
),
repeat
=
repeat
,
seconds
=
seconds
):
yield
result
yield
from
bench
(
name
,
lambda
:
sys
.
modules
.
pop
(
name
),
repeat
=
repeat
,
seconds
=
seconds
)
finally
:
sys
.
dont_write_bytecode
=
False
...
...
@@ -89,9 +86,8 @@ def _wo_bytecode(module):
os
.
unlink
(
bytecode_path
)
sys
.
dont_write_bytecode
=
True
try
:
for
result
in
bench
(
name
,
lambda
:
sys
.
modules
.
pop
(
name
),
repeat
=
repeat
,
seconds
=
seconds
):
yield
result
yield
from
bench
(
name
,
lambda
:
sys
.
modules
.
pop
(
name
),
repeat
=
repeat
,
seconds
=
seconds
)
finally
:
sys
.
dont_write_bytecode
=
False
...
...
@@ -127,8 +123,7 @@ def _writing_bytecode(module):
def
cleanup
():
sys
.
modules
.
pop
(
name
)
os
.
unlink
(
imp
.
cache_from_source
(
module
.
__file__
))
for
result
in
bench
(
name
,
cleanup
,
repeat
=
repeat
,
seconds
=
seconds
):
yield
result
yield
from
bench
(
name
,
cleanup
,
repeat
=
repeat
,
seconds
=
seconds
)
writing_bytecode_benchmark
.
__doc__
=
(
writing_bytecode_benchmark
.
__doc__
.
format
(
name
))
...
...
@@ -148,9 +143,8 @@ def source_using_bytecode(seconds, repeat):
sys
.
path_hooks
.
append
(
importlib
.
machinery
.
FileFinder
.
path_hook
(
loader
))
py_compile
.
compile
(
mapping
[
name
])
assert
os
.
path
.
exists
(
imp
.
cache_from_source
(
mapping
[
name
]))
for
result
in
bench
(
name
,
lambda
:
sys
.
modules
.
pop
(
name
),
repeat
=
repeat
,
seconds
=
seconds
):
yield
result
yield
from
bench
(
name
,
lambda
:
sys
.
modules
.
pop
(
name
),
repeat
=
repeat
,
seconds
=
seconds
)
def
_using_bytecode
(
module
):
...
...
@@ -158,9 +152,8 @@ def _using_bytecode(module):
def
using_bytecode_benchmark
(
seconds
,
repeat
):
"""Source w/ bytecode: {}"""
py_compile
.
compile
(
module
.
__file__
)
for
result
in
bench
(
name
,
lambda
:
sys
.
modules
.
pop
(
name
),
repeat
=
repeat
,
seconds
=
seconds
):
yield
result
yield
from
bench
(
name
,
lambda
:
sys
.
modules
.
pop
(
name
),
repeat
=
repeat
,
seconds
=
seconds
)
using_bytecode_benchmark
.
__doc__
=
(
using_bytecode_benchmark
.
__doc__
.
format
(
name
))
...
...
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