Sfoglia il codice sorgente

이렇게 바꿔볼까

2DU 8 anni fa
parent
commit
732dabcb66
2 ha cambiato i file con 13 aggiunte e 9 eliminazioni
  1. 3 2
      app.py
  2. 10 7
      func.py

+ 3 - 2
app.py

@@ -2570,9 +2570,10 @@ def diff_data(name = None, a = None, b = None):
             b_data = html.escape(b_raw_data[0][0])
             
             diff_data = difflib.SequenceMatcher(None, a_data, b_data)
-            result = diff(diff_data)
+            result_1 = diff(diff_data, 1)
+            result_2 = diff(diff_data, 0)
             
-            result = '<pre>' + result + '</pre>'
+            result = '<pre>' + result_1 + '<hr>' + result_2 + '</pre>'
             
             return(
                 template(

+ 10 - 7
func.py

@@ -54,19 +54,22 @@ def wiki_set(num):
         else:
             return('2')
 
-def diff(seqm):
+def diff(seqm, num):
     output= []
     for opcode, a0, a1, b0, b1 in seqm.get_opcodes():
-        if(opcode == 'equal'):
+        if(opcode == 'equal' and num == 1):
             output.append(seqm.a[a0:a1])
-        elif(opcode == 'insert'):
+        elif(opcode == 'insert' and num == 0):
             output.append("<span style='background:#CFC;'>" + seqm.b[b0:b1] + "</span>")
-        elif(opcode == 'delete'):
+        elif(opcode == 'delete' and num == 1):
             output.append("<span style='background:#FDD;'>" + seqm.a[a0:a1] + "</span>")
         elif(opcode == 'replace'):
-            output.append("<span style='background:#CFC;'>" + seqm.b[b0:b1] + "</span><span style='background:#FDD;'>" + seqm.a[a0:a1] + "</span>")
-        else:
-            output.append(seqm.a[a0:a1])
+            if(num == 1):
+                output.append("<span style='background:#FDD;'>" + seqm.a[a0:a1] + "</span>")
+            else:
+                output.append("<span style='background:#CFC;'>" + seqm.b[b0:b1] + "</span>")
+        elif(num == 0):
+            output.append(seqm.b[b0:b1])
             
     return(''.join(output))