簡體   English   中英

如何使用python從git生成HTML顏色差異

[英]How to generate HTML color diff from git using python

所以我想出了創建HTML git diff的方法,我可以將其嵌入電子郵件中,但不知道為什么都將它們吐成一行?

這是我的方法!!

import sys
import subprocess
import os

from ansi2html.converter import Ansi2HTMLConverter



ansiText =  os.path.expanduser('~/Desktop/colorDiff')


pr = subprocess.Popen( "git diff HEAD^ HEAD --color > "+ansiText , cwd = os.getcwd() , shell = True, stdout = subprocess.PIPE, stderr = subprocess.PIPE )
(out, error) = pr.communicate()

conv = Ansi2HTMLConverter()
ansi = ''
with open(ansiText, 'r+') as fh:
    fh.readline()

    for line in fh:
        ansi += ''.join(line.split())

html = conv.convert(ansi)

with open("%s.html" % ansiText, 'w+') as wf:
    wf.write(html)

os.remove(ansiText)
print str(error).capitalize()

也許為時已晚以至於無法喚醒...

想通了自己

import sys
import subprocess
import os

from ansi2html.converter import Ansi2HTMLConverter



ansiText =  os.path.expanduser('~/Desktop/colorDiff')



proc = subprocess.Popen('git diff HEAD^ HEAD --color',  shell=True, stdout=subprocess.PIPE, stderr = subprocess.PIPE )
diffData = proc.stdout.read()
conv = Ansi2HTMLConverter()

html = conv.convert(diffData)


with open("%s.html" % ansiText, 'w') as wf:
    wf.write(html)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM