changeset 37992:b3992c21b7f3

hgweb: convert {comparison} to a mappinggenerator with named template No bare generator.
author Yuya Nishihara <yuya@tcha.org>
date Wed, 04 Apr 2018 21:17:10 +0900
parents 4e407c7b1fbd
children 623dc2651d26
files mercurial/hgweb/webutil.py
diffstat 1 files changed, 8 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/mercurial/hgweb/webutil.py	Wed Apr 04 21:14:30 2018 +0900
+++ b/mercurial/hgweb/webutil.py	Wed Apr 04 21:17:10 2018 +0900
@@ -622,16 +622,21 @@
     return templateutil.mappinggenerator(_getcompblockgen, args=args,
                                          name='comparisonline')
 
-def compare(tmpl, contextnum, leftlines, rightlines):
+def _comparegen(context, contextnum, leftlines, rightlines):
     '''Generator function that provides side-by-side comparison data.'''
     s = difflib.SequenceMatcher(None, leftlines, rightlines)
     if contextnum < 0:
         l = _getcompblock(leftlines, rightlines, s.get_opcodes())
-        yield tmpl.generate('comparisonblock', {'lines': l})
+        yield {'lines': l}
     else:
         for oc in s.get_grouped_opcodes(n=contextnum):
             l = _getcompblock(leftlines, rightlines, oc)
-            yield tmpl.generate('comparisonblock', {'lines': l})
+            yield {'lines': l}
+
+def compare(tmpl, contextnum, leftlines, rightlines):
+    args = (contextnum, leftlines, rightlines)
+    return templateutil.mappinggenerator(_comparegen, args=args,
+                                         name='comparisonblock')
 
 def diffstatgen(ctx, basectx):
     '''Generator function that provides the diffstat data.'''