models.py 文件源码

python
阅读 23 收藏 0 点赞 0 评论 0

项目:onreview 作者: ichi404gh 项目源码 文件源码
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)
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号