mercurial/hgweb/webutil.py
changeset 37986 7a9e9fbaa559
parent 37985 6a4de2dc78dd
child 37987 8cc23a46df37
equal deleted inserted replaced
37985:6a4de2dc78dd 37986:7a9e9fbaa559
   517 
   517 
   518 def listfilediffs(files, node, max):
   518 def listfilediffs(files, node, max):
   519     return templateutil.mappedgenerator(_listfilediffsgen,
   519     return templateutil.mappedgenerator(_listfilediffsgen,
   520                                         args=(files, node, max))
   520                                         args=(files, node, max))
   521 
   521 
   522 def _prettyprintdifflines(context, tmpl, lines, blockno, lineidprefix):
   522 def _prettyprintdifflines(context, lines, blockno, lineidprefix):
   523     for lineno, l in enumerate(lines, 1):
   523     for lineno, l in enumerate(lines, 1):
   524         difflineno = "%d.%d" % (blockno, lineno)
   524         difflineno = "%d.%d" % (blockno, lineno)
   525         if l.startswith('+'):
   525         if l.startswith('+'):
   526             ltype = "difflineplus"
   526             ltype = "difflineplus"
   527         elif l.startswith('-'):
   527         elif l.startswith('-'):
   528             ltype = "difflineminus"
   528             ltype = "difflineminus"
   529         elif l.startswith('@'):
   529         elif l.startswith('@'):
   530             ltype = "difflineat"
   530             ltype = "difflineat"
   531         else:
   531         else:
   532             ltype = "diffline"
   532             ltype = "diffline"
   533         yield tmpl.generate(ltype, {
   533         yield context.process(ltype, {
   534             'line': l,
   534             'line': l,
   535             'lineno': lineno,
   535             'lineno': lineno,
   536             'lineid': lineidprefix + "l%s" % difflineno,
   536             'lineid': lineidprefix + "l%s" % difflineno,
   537             'linenumber': "% 8s" % difflineno,
   537             'linenumber': "% 8s" % difflineno,
   538         })
   538         })
   561                 if not mdiff.hunkinrange((s2, l2), linerange):
   561                 if not mdiff.hunkinrange((s2, l2), linerange):
   562                     continue
   562                     continue
   563             lines.extend(hunklines)
   563             lines.extend(hunklines)
   564         if lines:
   564         if lines:
   565             l = templateutil.mappedgenerator(_prettyprintdifflines,
   565             l = templateutil.mappedgenerator(_prettyprintdifflines,
   566                                              args=(web.tmpl, lines, blockno,
   566                                              args=(lines, blockno,
   567                                                    lineidprefix))
   567                                                    lineidprefix))
   568             yield web.tmpl.generate('diffblock', {
   568             yield web.tmpl.generate('diffblock', {
   569                 'parity': next(parity),
   569                 'parity': next(parity),
   570                 'blockno': blockno,
   570                 'blockno': blockno,
   571                 'lines': l,
   571                 'lines': l,