# HG changeset patch # User Yuya Nishihara # Date 2018-04-04 12:17:10 # Node ID b3992c21b7f3ee1c37ec1f0cd0e9e561bca4482e # Parent 4e407c7b1fbdc3d08f28cbe55c2184985b610d92 hgweb: convert {comparison} to a mappinggenerator with named template No bare generator. diff --git a/mercurial/hgweb/webutil.py b/mercurial/hgweb/webutil.py --- a/mercurial/hgweb/webutil.py +++ b/mercurial/hgweb/webutil.py @@ -622,16 +622,21 @@ def _getcompblock(leftlines, rightlines, 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.'''