utilize yield from

This commit is contained in:
Philip Jenvey 2012-10-01 12:53:43 -07:00
parent 075bbb176f
commit 4993cc0a5b
11 changed files with 18 additions and 36 deletions

View File

@ -606,8 +606,7 @@ class HelpFormatter(object):
pass pass
else: else:
self._indent() self._indent()
for subaction in get_subactions(): yield from get_subactions()
yield subaction
self._dedent() self._dedent()
def _split_lines(self, text, width): def _split_lines(self, text, width):

View File

@ -430,8 +430,7 @@ class KeysView(MappingView, Set):
return key in self._mapping return key in self._mapping
def __iter__(self): def __iter__(self):
for key in self._mapping: yield from self._mapping
yield key
KeysView.register(dict_keys) KeysView.register(dict_keys)

View File

@ -198,8 +198,7 @@ def as_completed(fs, timeout=None):
waiter = _create_and_install_waiters(fs, _AS_COMPLETED) waiter = _create_and_install_waiters(fs, _AS_COMPLETED)
try: try:
for future in finished: yield from finished
yield future
while pending: while pending:
if timeout is None: if timeout is None:

View File

@ -922,8 +922,7 @@ class Differ:
else: else:
raise ValueError('unknown tag %r' % (tag,)) raise ValueError('unknown tag %r' % (tag,))
for line in g: yield from g
yield line
def _dump(self, tag, x, lo, hi): def _dump(self, tag, x, lo, hi):
"""Generate comparison results for a same-tagged range.""" """Generate comparison results for a same-tagged range."""
@ -942,8 +941,7 @@ class Differ:
second = self._dump('+', b, blo, bhi) second = self._dump('+', b, blo, bhi)
for g in first, second: for g in first, second:
for line in g: yield from g
yield line
def _fancy_replace(self, a, alo, ahi, b, blo, bhi): def _fancy_replace(self, a, alo, ahi, b, blo, bhi):
r""" r"""
@ -997,8 +995,7 @@ class Differ:
# no non-identical "pretty close" pair # no non-identical "pretty close" pair
if eqi is None: if eqi is None:
# no identical pair either -- treat it as a straight replace # no identical pair either -- treat it as a straight replace
for line in self._plain_replace(a, alo, ahi, b, blo, bhi): yield from self._plain_replace(a, alo, ahi, b, blo, bhi)
yield line
return return
# no close pair, but an identical pair -- synch up on that # no close pair, but an identical pair -- synch up on that
best_i, best_j, best_ratio = eqi, eqj, 1.0 best_i, best_j, best_ratio = eqi, eqj, 1.0
@ -1010,8 +1007,7 @@ class Differ:
# identical # identical
# pump out diffs from before the synch point # pump out diffs from before the synch point
for line in self._fancy_helper(a, alo, best_i, b, blo, best_j): yield from self._fancy_helper(a, alo, best_i, b, blo, best_j)
yield line
# do intraline marking on the synch pair # do intraline marking on the synch pair
aelt, belt = a[best_i], b[best_j] aelt, belt = a[best_i], b[best_j]
@ -1033,15 +1029,13 @@ class Differ:
btags += ' ' * lb btags += ' ' * lb
else: else:
raise ValueError('unknown tag %r' % (tag,)) raise ValueError('unknown tag %r' % (tag,))
for line in self._qformat(aelt, belt, atags, btags): yield from self._qformat(aelt, belt, atags, btags)
yield line
else: else:
# the synch pair is identical # the synch pair is identical
yield ' ' + aelt yield ' ' + aelt
# pump out diffs from after the synch point # 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 from self._fancy_helper(a, best_i+1, ahi, b, best_j+1, bhi)
yield line
def _fancy_helper(self, a, alo, ahi, b, blo, bhi): def _fancy_helper(self, a, alo, ahi, b, blo, bhi):
g = [] g = []
@ -1053,8 +1047,7 @@ class Differ:
elif blo < bhi: elif blo < bhi:
g = self._dump('+', b, blo, bhi) g = self._dump('+', b, blo, bhi)
for line in g: yield from g
yield line
def _qformat(self, aline, bline, atags, btags): def _qformat(self, aline, bline, atags, btags):
r""" r"""

View File

@ -367,8 +367,7 @@ class TokenList(list):
yield (indent + ' !! invalid element in token ' yield (indent + ' !! invalid element in token '
'list: {!r}'.format(token)) 'list: {!r}'.format(token))
else: else:
for line in token._pp(indent+' '): yield from token._pp(indent+' ')
yield line
if self.defects: if self.defects:
extra = ' Defects: {}'.format(self.defects) extra = ' Defects: {}'.format(self.defects)
else: else:

View File

@ -26,8 +26,7 @@ def walk(self):
yield self yield self
if self.is_multipart(): if self.is_multipart():
for subpart in self.get_payload(): for subpart in self.get_payload():
for subsubpart in subpart.walk(): yield from subpart.walk()
yield subsubpart
@ -40,8 +39,7 @@ def body_line_iterator(msg, decode=False):
for subpart in msg.walk(): for subpart in msg.walk():
payload = subpart.get_payload(decode=decode) payload = subpart.get_payload(decode=decode)
if isinstance(payload, str): if isinstance(payload, str):
for line in StringIO(payload): yield from StringIO(payload)
yield line
def typed_subpart_iterator(msg, maintype='text', subtype=None): def typed_subpart_iterator(msg, maintype='text', subtype=None):

View File

@ -26,8 +26,7 @@ def iglob(pathname):
return return
dirname, basename = os.path.split(pathname) dirname, basename = os.path.split(pathname)
if not dirname: if not dirname:
for name in glob1(None, basename): yield from glob1(None, basename)
yield name
return return
if has_magic(dirname): if has_magic(dirname):
dirs = iglob(dirname) dirs = iglob(dirname)

View File

@ -631,8 +631,7 @@ class _singlefileMailbox(Mailbox):
def iterkeys(self): def iterkeys(self):
"""Return an iterator over keys.""" """Return an iterator over keys."""
self._lookup() self._lookup()
for key in self._toc.keys(): yield from self._toc.keys()
yield key
def __contains__(self, key): def __contains__(self, key):
"""Return True if the keyed message exists, False otherwise.""" """Return True if the keyed message exists, False otherwise."""

View File

@ -121,8 +121,7 @@ def walk_packages(path=None, prefix='', onerror=None):
# don't traverse path items we've seen before # don't traverse path items we've seen before
path = [p for p in path if not seen(p)] path = [p for p in path if not seen(p)]
for item in walk_packages(path, name+'.', onerror): yield from walk_packages(path, name+'.', onerror)
yield item
def iter_modules(path=None, prefix=''): def iter_modules(path=None, prefix=''):

View File

@ -132,8 +132,7 @@ def _iter_chain(exc, custom_tb=None, seen=None):
its.append([(exc, custom_tb or exc.__traceback__)]) its.append([(exc, custom_tb or exc.__traceback__)])
# itertools.chain is in an extension module and may be unavailable # itertools.chain is in an extension module and may be unavailable
for it in its: for it in its:
for x in it: yield from it
yield x
def print_exception(etype, value, tb, limit=None, file=None, chain=True): def print_exception(etype, value, tb, limit=None, file=None, chain=True):

View File

@ -153,8 +153,7 @@ class WeakValueDictionary(collections.MutableMapping):
""" """
with _IterationGuard(self): with _IterationGuard(self):
for wr in self.data.values(): yield from self.data.values()
yield wr
def values(self): def values(self):
with _IterationGuard(self): with _IterationGuard(self):