mirror of
https://github.com/python/cpython.git
synced 2024-11-23 18:04:37 +08:00
utilize yield from
This commit is contained in:
parent
075bbb176f
commit
4993cc0a5b
@ -606,8 +606,7 @@ class HelpFormatter(object):
|
||||
pass
|
||||
else:
|
||||
self._indent()
|
||||
for subaction in get_subactions():
|
||||
yield subaction
|
||||
yield from get_subactions()
|
||||
self._dedent()
|
||||
|
||||
def _split_lines(self, text, width):
|
||||
|
@ -430,8 +430,7 @@ class KeysView(MappingView, Set):
|
||||
return key in self._mapping
|
||||
|
||||
def __iter__(self):
|
||||
for key in self._mapping:
|
||||
yield key
|
||||
yield from self._mapping
|
||||
|
||||
KeysView.register(dict_keys)
|
||||
|
||||
|
@ -198,8 +198,7 @@ def as_completed(fs, timeout=None):
|
||||
waiter = _create_and_install_waiters(fs, _AS_COMPLETED)
|
||||
|
||||
try:
|
||||
for future in finished:
|
||||
yield future
|
||||
yield from finished
|
||||
|
||||
while pending:
|
||||
if timeout is None:
|
||||
|
@ -922,8 +922,7 @@ class Differ:
|
||||
else:
|
||||
raise ValueError('unknown tag %r' % (tag,))
|
||||
|
||||
for line in g:
|
||||
yield line
|
||||
yield from g
|
||||
|
||||
def _dump(self, tag, x, lo, hi):
|
||||
"""Generate comparison results for a same-tagged range."""
|
||||
@ -942,8 +941,7 @@ class Differ:
|
||||
second = self._dump('+', b, blo, bhi)
|
||||
|
||||
for g in first, second:
|
||||
for line in g:
|
||||
yield line
|
||||
yield from g
|
||||
|
||||
def _fancy_replace(self, a, alo, ahi, b, blo, bhi):
|
||||
r"""
|
||||
@ -997,8 +995,7 @@ class Differ:
|
||||
# no non-identical "pretty close" pair
|
||||
if eqi is None:
|
||||
# no identical pair either -- treat it as a straight replace
|
||||
for line in self._plain_replace(a, alo, ahi, b, blo, bhi):
|
||||
yield line
|
||||
yield from self._plain_replace(a, alo, ahi, b, blo, bhi)
|
||||
return
|
||||
# no close pair, but an identical pair -- synch up on that
|
||||
best_i, best_j, best_ratio = eqi, eqj, 1.0
|
||||
@ -1010,8 +1007,7 @@ class Differ:
|
||||
# identical
|
||||
|
||||
# pump out diffs from before the synch point
|
||||
for line in self._fancy_helper(a, alo, best_i, b, blo, best_j):
|
||||
yield line
|
||||
yield from self._fancy_helper(a, alo, best_i, b, blo, best_j)
|
||||
|
||||
# do intraline marking on the synch pair
|
||||
aelt, belt = a[best_i], b[best_j]
|
||||
@ -1033,15 +1029,13 @@ class Differ:
|
||||
btags += ' ' * lb
|
||||
else:
|
||||
raise ValueError('unknown tag %r' % (tag,))
|
||||
for line in self._qformat(aelt, belt, atags, btags):
|
||||
yield line
|
||||
yield from self._qformat(aelt, belt, atags, btags)
|
||||
else:
|
||||
# the synch pair is identical
|
||||
yield ' ' + aelt
|
||||
|
||||
# pump out diffs from after the synch point
|
||||
for line in self._fancy_helper(a, best_i+1, ahi, b, best_j+1, bhi):
|
||||
yield line
|
||||
yield from self._fancy_helper(a, best_i+1, ahi, b, best_j+1, bhi)
|
||||
|
||||
def _fancy_helper(self, a, alo, ahi, b, blo, bhi):
|
||||
g = []
|
||||
@ -1053,8 +1047,7 @@ class Differ:
|
||||
elif blo < bhi:
|
||||
g = self._dump('+', b, blo, bhi)
|
||||
|
||||
for line in g:
|
||||
yield line
|
||||
yield from g
|
||||
|
||||
def _qformat(self, aline, bline, atags, btags):
|
||||
r"""
|
||||
|
@ -367,8 +367,7 @@ class TokenList(list):
|
||||
yield (indent + ' !! invalid element in token '
|
||||
'list: {!r}'.format(token))
|
||||
else:
|
||||
for line in token._pp(indent+' '):
|
||||
yield line
|
||||
yield from token._pp(indent+' ')
|
||||
if self.defects:
|
||||
extra = ' Defects: {}'.format(self.defects)
|
||||
else:
|
||||
|
@ -26,8 +26,7 @@ def walk(self):
|
||||
yield self
|
||||
if self.is_multipart():
|
||||
for subpart in self.get_payload():
|
||||
for subsubpart in subpart.walk():
|
||||
yield subsubpart
|
||||
yield from subpart.walk()
|
||||
|
||||
|
||||
|
||||
@ -40,8 +39,7 @@ def body_line_iterator(msg, decode=False):
|
||||
for subpart in msg.walk():
|
||||
payload = subpart.get_payload(decode=decode)
|
||||
if isinstance(payload, str):
|
||||
for line in StringIO(payload):
|
||||
yield line
|
||||
yield from StringIO(payload)
|
||||
|
||||
|
||||
def typed_subpart_iterator(msg, maintype='text', subtype=None):
|
||||
|
@ -26,8 +26,7 @@ def iglob(pathname):
|
||||
return
|
||||
dirname, basename = os.path.split(pathname)
|
||||
if not dirname:
|
||||
for name in glob1(None, basename):
|
||||
yield name
|
||||
yield from glob1(None, basename)
|
||||
return
|
||||
if has_magic(dirname):
|
||||
dirs = iglob(dirname)
|
||||
|
@ -631,8 +631,7 @@ class _singlefileMailbox(Mailbox):
|
||||
def iterkeys(self):
|
||||
"""Return an iterator over keys."""
|
||||
self._lookup()
|
||||
for key in self._toc.keys():
|
||||
yield key
|
||||
yield from self._toc.keys()
|
||||
|
||||
def __contains__(self, key):
|
||||
"""Return True if the keyed message exists, False otherwise."""
|
||||
|
@ -121,8 +121,7 @@ def walk_packages(path=None, prefix='', onerror=None):
|
||||
# don't traverse path items we've seen before
|
||||
path = [p for p in path if not seen(p)]
|
||||
|
||||
for item in walk_packages(path, name+'.', onerror):
|
||||
yield item
|
||||
yield from walk_packages(path, name+'.', onerror)
|
||||
|
||||
|
||||
def iter_modules(path=None, prefix=''):
|
||||
|
@ -132,8 +132,7 @@ def _iter_chain(exc, custom_tb=None, seen=None):
|
||||
its.append([(exc, custom_tb or exc.__traceback__)])
|
||||
# itertools.chain is in an extension module and may be unavailable
|
||||
for it in its:
|
||||
for x in it:
|
||||
yield x
|
||||
yield from it
|
||||
|
||||
|
||||
def print_exception(etype, value, tb, limit=None, file=None, chain=True):
|
||||
|
@ -153,8 +153,7 @@ class WeakValueDictionary(collections.MutableMapping):
|
||||
|
||||
"""
|
||||
with _IterationGuard(self):
|
||||
for wr in self.data.values():
|
||||
yield wr
|
||||
yield from self.data.values()
|
||||
|
||||
def values(self):
|
||||
with _IterationGuard(self):
|
||||
|
Loading…
Reference in New Issue
Block a user