def get_diff_lines(self):
import difflib
postdiffs = list()
commentdiffs = list()
s = difflib.SequenceMatcher(lambda x: x.isspace(), self.post.code, self.code)
for o in s.get_opcodes():
if o[0] in ('replace','delete'):
postdiffs.append(('mod', s.a[o[1]:o[2]]))
if o[0] in ('replace','insert'):
commentdiffs.append(('mod', s.b[o[3]:o[4]]))
if o[0] == 'equal':
postdiffs.append(('eq', s.a[o[1]:o[2]]))
commentdiffs.append(('eq', s.b[o[3]:o[4]]))
self.__normalize__(postdiffs)
self.__normalize__(commentdiffs)
return (postdiffs,commentdiffs)
评论列表
文章目录