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

@ -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"""