def html(self, plain=False):
old = '\n'.join(sorted(str(countries.name(c)) for c in self.old))
new = '\n'.join(sorted(str(countries.name(c)) for c in self.new))
dmp = diff_match_patch()
a, b, lineArray = dmp.diff_linesToChars(old, new)
diff = dmp.diff_main(a, b, checklines=False)
dmp.diff_cleanupSemantic(diff)
dmp.diff_charsToLines(diff, lineArray)
result = []
for op, country in diff:
if op:
result.append('<div class="{}">{}</div>'.format(
'inserted' if op > 0 else 'deleted', escape(country)))
else:
result.append('<div>{}</div>'.format(escape(country)))
return '\n'.join(result)
评论列表
文章目录