Mercurial > hg
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.'''