mirror of https://github.com/python/cpython
Cleanup and modernize code prior to working on Issue 11747.
This commit is contained in:
parent
753009a657
commit
e2b63e232e
|
@ -1188,22 +1188,23 @@ def unified_diff(a, b, fromfile='', tofile='', fromfiledate='',
|
||||||
started = False
|
started = False
|
||||||
for group in SequenceMatcher(None,a,b).get_grouped_opcodes(n):
|
for group in SequenceMatcher(None,a,b).get_grouped_opcodes(n):
|
||||||
if not started:
|
if not started:
|
||||||
fromdate = '\t%s' % fromfiledate if fromfiledate else ''
|
|
||||||
todate = '\t%s' % tofiledate if tofiledate else ''
|
|
||||||
yield '--- %s%s%s' % (fromfile, fromdate, lineterm)
|
|
||||||
yield '+++ %s%s%s' % (tofile, todate, lineterm)
|
|
||||||
started = True
|
started = True
|
||||||
i1, i2, j1, j2 = group[0][1], group[-1][2], group[0][3], group[-1][4]
|
fromdate = '\t{}'.format(fromfiledate) if fromfiledate else ''
|
||||||
yield "@@ -%d,%d +%d,%d @@%s" % (i1+1, i2-i1, j1+1, j2-j1, lineterm)
|
todate = '\t{}'.format(tofiledate) if tofiledate else ''
|
||||||
|
yield '--- {}{}{}'.format(fromfile, fromdate, lineterm)
|
||||||
|
yield '+++ {}{}{}'.format(tofile, todate, lineterm)
|
||||||
|
first, last = group[0], group[-1]
|
||||||
|
i1, i2, j1, j2 = first[1], last[2], first[3], last[4]
|
||||||
|
yield '@@ -{},{} +{},{} @@{}'.format(i1+1, i2-i1, j1+1, j2-j1, lineterm)
|
||||||
for tag, i1, i2, j1, j2 in group:
|
for tag, i1, i2, j1, j2 in group:
|
||||||
if tag == 'equal':
|
if tag == 'equal':
|
||||||
for line in a[i1:i2]:
|
for line in a[i1:i2]:
|
||||||
yield ' ' + line
|
yield ' ' + line
|
||||||
continue
|
continue
|
||||||
if tag == 'replace' or tag == 'delete':
|
if tag in {'replace', 'delete'}:
|
||||||
for line in a[i1:i2]:
|
for line in a[i1:i2]:
|
||||||
yield '-' + line
|
yield '-' + line
|
||||||
if tag == 'replace' or tag == 'insert':
|
if tag in {'replace', 'insert'}:
|
||||||
for line in b[j1:j2]:
|
for line in b[j1:j2]:
|
||||||
yield '+' + line
|
yield '+' + line
|
||||||
|
|
||||||
|
@ -1252,38 +1253,38 @@ def context_diff(a, b, fromfile='', tofile='',
|
||||||
four
|
four
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
prefix = dict(insert='+ ', delete='- ', replace='! ', equal=' ')
|
||||||
started = False
|
started = False
|
||||||
prefixmap = {'insert':'+ ', 'delete':'- ', 'replace':'! ', 'equal':' '}
|
|
||||||
for group in SequenceMatcher(None,a,b).get_grouped_opcodes(n):
|
for group in SequenceMatcher(None,a,b).get_grouped_opcodes(n):
|
||||||
if not started:
|
if not started:
|
||||||
fromdate = '\t%s' % fromfiledate if fromfiledate else ''
|
|
||||||
todate = '\t%s' % tofiledate if tofiledate else ''
|
|
||||||
yield '*** %s%s%s' % (fromfile, fromdate, lineterm)
|
|
||||||
yield '--- %s%s%s' % (tofile, todate, lineterm)
|
|
||||||
started = True
|
started = True
|
||||||
|
fromdate = '\t{}'.format(fromfiledate) if fromfiledate else ''
|
||||||
|
todate = '\t{}'.format(tofiledate) if tofiledate else ''
|
||||||
|
yield '*** {}{}{}'.format(fromfile, fromdate, lineterm)
|
||||||
|
yield '--- {}{}{}'.format(tofile, todate, lineterm)
|
||||||
|
|
||||||
yield '***************%s' % (lineterm,)
|
first, last = group[0], group[-1]
|
||||||
if group[-1][2] - group[0][1] >= 2:
|
yield '***************{}'.format(lineterm)
|
||||||
yield '*** %d,%d ****%s' % (group[0][1]+1, group[-1][2], lineterm)
|
|
||||||
|
if last[2] - first[1] > 1:
|
||||||
|
yield '*** {},{} ****{}'.format(first[1]+1, last[2], lineterm)
|
||||||
else:
|
else:
|
||||||
yield '*** %d ****%s' % (group[-1][2], lineterm)
|
yield '*** {} ****{}'.format(last[2], lineterm)
|
||||||
visiblechanges = [e for e in group if e[0] in {'replace', 'delete'}]
|
if any(tag in {'replace', 'delete'} for tag, _, _, _, _ in group):
|
||||||
if visiblechanges:
|
|
||||||
for tag, i1, i2, _, _ in group:
|
for tag, i1, i2, _, _ in group:
|
||||||
if tag != 'insert':
|
if tag != 'insert':
|
||||||
for line in a[i1:i2]:
|
for line in a[i1:i2]:
|
||||||
yield prefixmap[tag] + line
|
yield prefix[tag] + line
|
||||||
|
|
||||||
if group[-1][4] - group[0][3] >= 2:
|
if last[4] - first[3] > 1:
|
||||||
yield '--- %d,%d ----%s' % (group[0][3]+1, group[-1][4], lineterm)
|
yield '--- {},{} ----{}'.format(first[3]+1, last[4], lineterm)
|
||||||
else:
|
else:
|
||||||
yield '--- %d ----%s' % (group[-1][4], lineterm)
|
yield '--- {} ----{}'.format(last[4], lineterm)
|
||||||
visiblechanges = [e for e in group if e[0] in {'replace', 'insert'}]
|
if any(tag in {'replace', 'insert'} for tag, _, _, _, _ in group):
|
||||||
if visiblechanges:
|
|
||||||
for tag, _, _, j1, j2 in group:
|
for tag, _, _, j1, j2 in group:
|
||||||
if tag != 'delete':
|
if tag != 'delete':
|
||||||
for line in b[j1:j2]:
|
for line in b[j1:j2]:
|
||||||
yield prefixmap[tag] + line
|
yield prefix[tag] + line
|
||||||
|
|
||||||
def ndiff(a, b, linejunk=None, charjunk=IS_CHARACTER_JUNK):
|
def ndiff(a, b, linejunk=None, charjunk=IS_CHARACTER_JUNK):
|
||||||
r"""
|
r"""
|
||||||
|
|
Loading…
Reference in New Issue