mercurial/hgweb/webutil.py
changeset 37992 b3992c21b7f3
parent 37991 4e407c7b1fbd
child 37993 623dc2651d26
equal deleted inserted replaced
37991:4e407c7b1fbd 37992:b3992c21b7f3
   620 def _getcompblock(leftlines, rightlines, opcodes):
   620 def _getcompblock(leftlines, rightlines, opcodes):
   621     args = (leftlines, rightlines, opcodes)
   621     args = (leftlines, rightlines, opcodes)
   622     return templateutil.mappinggenerator(_getcompblockgen, args=args,
   622     return templateutil.mappinggenerator(_getcompblockgen, args=args,
   623                                          name='comparisonline')
   623                                          name='comparisonline')
   624 
   624 
   625 def compare(tmpl, contextnum, leftlines, rightlines):
   625 def _comparegen(context, contextnum, leftlines, rightlines):
   626     '''Generator function that provides side-by-side comparison data.'''
   626     '''Generator function that provides side-by-side comparison data.'''
   627     s = difflib.SequenceMatcher(None, leftlines, rightlines)
   627     s = difflib.SequenceMatcher(None, leftlines, rightlines)
   628     if contextnum < 0:
   628     if contextnum < 0:
   629         l = _getcompblock(leftlines, rightlines, s.get_opcodes())
   629         l = _getcompblock(leftlines, rightlines, s.get_opcodes())
   630         yield tmpl.generate('comparisonblock', {'lines': l})
   630         yield {'lines': l}
   631     else:
   631     else:
   632         for oc in s.get_grouped_opcodes(n=contextnum):
   632         for oc in s.get_grouped_opcodes(n=contextnum):
   633             l = _getcompblock(leftlines, rightlines, oc)
   633             l = _getcompblock(leftlines, rightlines, oc)
   634             yield tmpl.generate('comparisonblock', {'lines': l})
   634             yield {'lines': l}
       
   635 
       
   636 def compare(tmpl, contextnum, leftlines, rightlines):
       
   637     args = (contextnum, leftlines, rightlines)
       
   638     return templateutil.mappinggenerator(_comparegen, args=args,
       
   639                                          name='comparisonblock')
   635 
   640 
   636 def diffstatgen(ctx, basectx):
   641 def diffstatgen(ctx, basectx):
   637     '''Generator function that provides the diffstat data.'''
   642     '''Generator function that provides the diffstat data.'''
   638 
   643 
   639     stats = patch.diffstatdata(
   644     stats = patch.diffstatdata(