コード例 #1
0
ファイル: qml.py プロジェクト: helfer/ibo2013
    def get_texts_nested(self,prep=False,compare_to=None):
        if self.data is None and len(self.children) > 0 :
            sub = []
            for c in self.children:
                sub.extend(c.get_texts_nested(prep,compare_to))
            rt = [{"id":self.identifier,"tag":self.xml.tag,"data":sub,"meta":self.meta}]
        else:
            if self.data is None:
                self.data = ''
            if compare_to is None:
                data = self.data
            else:
                print "diffing"
                el = compare_to.xml.find(".//{0}[@id='{1}']".format(self.xml.tag,self.identifier))
                if(el is not None):
                    original = self.__class__(el)
                    do = original.data
                    if do == None:
                        do = ""
                    ds = self.data
                    if ds == None:
                        ds = ""         
 
                    data = simplediff.html_diff(do,ds)
                else:
                    print "element not found"
                    data = simplediff.html_diff("",self.data)

            if prep:
                data = utils.prep_for_display(data)
            rt = [{"id":self.identifier,"tag":self.xml.tag,"data":data,"meta":self.meta}]
        
        return rt
コード例 #2
0
ファイル: models.py プロジェクト: helfer/ibo2013
 def compare_with(self,vn2):
     return simplediff.html_diff(self.text,vn2.text)
コード例 #3
0
ファイル: qml.py プロジェクト: helfer/ibo2013
 def diff(self,other):
     if self.identifier in other:
         self.data = simplediff.html_diff(other[self.identifier],self.data)
     self.apply_update()
     for c in self.children:
         c.diff(other)