comparison mercurial/formatter.py @ 17909:3326fd05eb1f

formatter: add condwrite method This makes handling conditional output tidier
author Matt Mackall <mpm@selenic.com>
date Sat, 03 Nov 2012 14:37:50 -0500
parents ff5ed1ecd43a
children 1f72226064b8
comparison
equal deleted inserted replaced
17908:42f8ee0e04ac 17909:3326fd05eb1f
29 self._item.update(data) 29 self._item.update(data)
30 def write(self, fields, deftext, *fielddata, **opts): 30 def write(self, fields, deftext, *fielddata, **opts):
31 '''do default text output while assigning data to item''' 31 '''do default text output while assigning data to item'''
32 for k, v in zip(fields.split(), fielddata): 32 for k, v in zip(fields.split(), fielddata):
33 self._item[k] = v 33 self._item[k] = v
34 def condwrite(self, cond, fields, deftext, *fielddata, **opts):
35 '''do conditional write (primarily for plain formatter)'''
36 for k, v in zip(fields.split(), fielddata):
37 self._item[k] = v
34 def plain(self, text, **opts): 38 def plain(self, text, **opts):
35 '''show raw text for non-templated mode''' 39 '''show raw text for non-templated mode'''
36 pass 40 pass
37 def end(self): 41 def end(self):
38 '''end output for the formatter''' 42 '''end output for the formatter'''
49 pass 53 pass
50 def data(self, **data): 54 def data(self, **data):
51 pass 55 pass
52 def write(self, fields, deftext, *fielddata, **opts): 56 def write(self, fields, deftext, *fielddata, **opts):
53 self._ui.write(deftext % fielddata, **opts) 57 self._ui.write(deftext % fielddata, **opts)
58 def condwrite(self, cond, fields, deftext, *fielddata, **opts):
59 '''do conditional write'''
60 if cond:
61 self._ui.write(deftext % fielddata, **opts)
54 def plain(self, text, **opts): 62 def plain(self, text, **opts):
55 self._ui.write(text, **opts) 63 self._ui.write(text, **opts)
56 def end(self): 64 def end(self):
57 pass 65 pass
58 66