Mercurial > public > mercurial-scm > hg
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 |