# HG changeset patch # User Yuya Nishihara # Date 1522844230 -32400 # Node ID b3992c21b7f3ee1c37ec1f0cd0e9e561bca4482e # Parent 4e407c7b1fbdc3d08f28cbe55c2184985b610d92 hgweb: convert {comparison} to a mappinggenerator with named template No bare generator. diff -r 4e407c7b1fbd -r b3992c21b7f3 mercurial/hgweb/webutil.py --- 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.'''