diff mercurial/hgweb.py @ 172:e9b1147db448

hgweb: alternating colors for multifile diffs
author mpm@selenic.com
date Thu, 26 May 2005 20:37:05 -0800
parents 65cf1b0cfe86
children 8da1df932c16
line wrap: on
line diff
--- a/mercurial/hgweb.py	Thu May 26 18:20:24 2005 -0800
+++ b/mercurial/hgweb.py	Thu May 26 20:37:05 2005 -0800
@@ -142,7 +142,16 @@
                 l += [ x for x in list if x.startswith(f) ]
             return l
 
-        def prettyprint(diff):
+        parity = [0]
+        def diffblock(diff, f, fn):
+            yield self.t("diffblock",
+                         lines = prettyprintlines(diff),
+                         parity = parity[0],
+                         file = f,
+                         filenode = hex(fn))
+            parity[0] = 1 - parity[0]
+            
+        def prettyprintlines(diff):
             for l in diff.splitlines(1):
                 line = cgi.escape(l)
                 if line.startswith('+'):
@@ -170,15 +179,15 @@
         for f in c:
             to = r.file(f).read(mmap1[f])
             tn = r.file(f).read(mmap2[f])
-            yield prettyprint(mdiff.unidiff(to, date1, tn, date2, f))
+            yield diffblock(mdiff.unidiff(to, date1, tn, date2, f), f, tn)
         for f in a:
             to = ""
             tn = r.file(f).read(mmap2[f])
-            yield prettyprint(mdiff.unidiff(to, date1, tn, date2, f))
+            yield diffblock(mdiff.unidiff(to, date1, tn, date2, f), f, tn)
         for f in d:
             to = r.file(f).read(mmap1[f])
             tn = ""
-            yield prettyprint(mdiff.unidiff(to, date1, tn, date2, f))
+            yield diffblock(mdiff.unidiff(to, date1, tn, date2, f), f, tn)
 
     def header(self):
         yield self.t("header", repo = self.reponame)