comparison hgext/blackbox.py @ 40648:85372dc0cca3

blackbox: extract function to test if log event is tracked This will be a required method of the logger interface.
author Yuya Nishihara <yuya@tcha.org>
date Sun, 11 Nov 2018 17:29:46 +0900
parents 6d9a87fb8c89
children 55b053af7196
comparison
equal deleted inserted replaced
40647:6d9a87fb8c89 40648:85372dc0cca3
129 129
130 class blackboxlogger(object): 130 class blackboxlogger(object):
131 def __init__(self, ui): 131 def __init__(self, ui):
132 self._repo = None 132 self._repo = None
133 self._inlog = False 133 self._inlog = False
134 self.track = ui.configlist('blackbox', 'track') 134 self._trackedevents = set(ui.configlist('blackbox', 'track'))
135 135
136 @property 136 @property
137 def _bbvfs(self): 137 def _bbvfs(self):
138 vfs = None 138 vfs = None
139 if self._repo: 139 if self._repo:
140 vfs = self._repo.vfs 140 vfs = self._repo.vfs
141 if not vfs.isdir('.'): 141 if not vfs.isdir('.'):
142 vfs = None 142 vfs = None
143 return vfs 143 return vfs
144 144
145 def tracked(self, event):
146 return b'*' in self._trackedevents or event in self._trackedevents
147
145 def log(self, ui, event, msg, opts): 148 def log(self, ui, event, msg, opts):
146 global _lastlogger 149 global _lastlogger
147 if not '*' in self.track and not event in self.track: 150 if not self.tracked(event):
148 return 151 return
149 152
150 if self._bbvfs: 153 if self._bbvfs:
151 _lastlogger = self 154 _lastlogger = self
152 elif _lastlogger and _lastlogger._bbvfs: 155 elif _lastlogger and _lastlogger._bbvfs: