git.droids-corp.org
/
diff2html.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
allow to be called with strings instead of IO files
[diff2html.git]
/
diff2html.py
diff --git
a/diff2html.py
b/diff2html.py
index
9c0af69
..
337667f
100644
(file)
--- a/
diff2html.py
+++ b/
diff2html.py
@@
-20,6
+20,7
@@
#
# Authors: Olivier MATZ <zer0@droids-corp.org>
# Alan De Smet <adesmet@cs.wisc.edu>
#
# Authors: Olivier MATZ <zer0@droids-corp.org>
# Alan De Smet <adesmet@cs.wisc.edu>
+# Sergey Satskiy <sergey.satskiy@gmail.com>
#
# Inspired by diff2html.rb from Dave Burt <dave (at) burt.id.au>
# (mainly for html theme)
#
# Inspired by diff2html.rb from Dave Burt <dave (at) burt.id.au>
# (mainly for html theme)
@@
-32,7
+33,7
@@
# and display those directly.
# and display those directly.
-import sys, re, htmlentitydefs, getopt
+import sys, re, htmlentitydefs, getopt
, StringIO
# minimum line size, we add a zero-sized breakable space every
# LINESIZE characters
# minimum line size, we add a zero-sized breakable space every
# LINESIZE characters
@@
-164,7
+165,6
@@
def linediff(s, t):
def convert(s, linesize=0, ponct=0):
i = 0
t = ""
def convert(s, linesize=0, ponct=0):
i = 0
t = ""
- l=[]
for c in s:
# used by diffs
if c == DIFFON:
for c in s:
# used by diffs
if c == DIFFON:
@@
-309,10
+309,12
@@
def parse_input(input_file, output_file,
if m:
empty_buffer(output_file)
file1 = m.groups()[0]
if m:
empty_buffer(output_file)
file1 = m.groups()[0]
- l = input_file.readline()
- m = re.match('^\+\+\+ ([^\s]*)', l)
- if m:
- file2 = m.groups()[0]
+ while True:
+ l = input_file.readline()
+ m = re.match('^\+\+\+ ([^\s]*)', l)
+ if m:
+ file2 = m.groups()[0]
+ break
add_filename(file1, file2, output_file)
hunk_off1, hunk_size1, hunk_off2, hunk_size2 = 0, 0, 0, 0
continue
add_filename(file1, file2, output_file)
hunk_off1, hunk_size1, hunk_off2, hunk_size2 = 0, 0, 0, 0
continue
@@
-396,7
+398,6
@@
def main():
print str(err) # will print something like "option -a not recognized"
usage()
sys.exit(2)
print str(err) # will print something like "option -a not recognized"
usage()
sys.exit(2)
- output = None
verbose = False
for o, a in opts:
if o in ("-h", "--help"):
verbose = False
for o, a in opts:
if o in ("-h", "--help"):
@@
-421,6
+422,11
@@
def main():
parse_input(input_file, output_file,
exclude_headers, show_hunk_infos)
parse_input(input_file, output_file,
exclude_headers, show_hunk_infos)
+def parse_from_memory(txt, exclude_headers, show_hunk_infos):
+ " Parses diff from memory and returns a string with html "
+ stream = StringIO.StringIO(txt)
+ parse_input(stream, stream, exclude_headers, show_hunk_infos)
+ return stream.buf
if __name__ == "__main__":
main()
if __name__ == "__main__":
main()