Применение частичного патча с Google diff-match-patch - PullRequest
0 голосов
/ 14 октября 2018

У меня есть home.html, который часто обновляется, и каждый раз, когда мне приходится повторно применять свое собственное руководство по редактированию (например: изменить некоторые .css правила в теге <style>).Я сохранил полную часть <style> в отдельном файле: modification.txt.

Я хотел бы иметь возможность отправить эти два файла home.hmtl и modification.txt в сценарий Python, который будет применять модификацию.

Я уверен, что google diff-match-patch может это сделать, но до сих пор мне удавалось сравнить файл, создать патч и применить к нему патч.Но патч по сути заменит home.html на modification.txt.Как я могу изменить свой сценарий, чтобы заменить только <style>?

import diff_match_patch as dmp_module

def readFileToText(filePath):
    file = open(filePath,"r")
    s = ''
    for line in file:
            s = s + line
    return s


dmp = dmp_module.diff_match_patch()
origin = r"C:\Users\user\Desktop\test\home.html"
lastest = r"C:\Users\user\Desktop\test\modification.txt"

originText = readFileToText(origin)
lastestText = readFileToText(lastest)

patch = dmp.patch_make(originText, lastestText)
patchText = dmp.patch_toText(patch)

finalfile = dmp.patch_apply(patch,originText)
print(finalfile)
patchFilePath  = r"C:\Users\user\Desktop\test\output1.html"
patchFile = open(patchFilePath,"w")
patchFile.write(finalfile[0])
...