# HG changeset patch # User Jun Wu # Date 1505775368 25200 # Node ID a37e18b5f05546ab819682154b1b14bb5b7671dc # Parent b0790bebfcf8fb81892adf7675561766aed056d4 blackbox: simplify ui states It seems cleaner to just remove `_partialinit`, `copy`, `__init__`. This patch makes it so by using `getattr` in `log` so those fields do not need to be existed. Differential Revision: https://phab.mercurial-scm.org/D652 diff -r b0790bebfcf8 -r a37e18b5f055 hgext/blackbox.py --- a/hgext/blackbox.py Fri Sep 01 19:42:09 2017 -0700 +++ b/hgext/blackbox.py Mon Sep 18 15:56:08 2017 -0700 @@ -75,24 +75,6 @@ def wrapui(ui): class blackboxui(ui.__class__): - def __init__(self, src=None): - super(blackboxui, self).__init__(src) - if src is None: - self._partialinit() - else: - self._bbinlog = False - self._bbrepo = getattr(src, '_bbrepo', None) - - def _partialinit(self): - if self._bbvfs: - return - self._bbinlog = False - self._bbrepo = None - - def copy(self): - self._partialinit() - return self.__class__(self) - @property def _bbvfs(self): repo = getattr(self, '_bbrepo', None) @@ -140,7 +122,6 @@ def log(self, event, *msg, **opts): global lastui super(blackboxui, self).log(event, *msg, **opts) - self._partialinit() if not '*' in self.track and not event in self.track: return @@ -155,9 +136,10 @@ if not ui: return - if not lastui or ui._bbrepo: + repo = getattr(ui, '_bbrepo', None) + if not lastui or repo: lastui = ui - if ui._bbinlog: + if getattr(ui, '_bbinlog', False): # recursion and failure guard return try: @@ -169,8 +151,8 @@ formattedmsg = msg[0] % msg[1:] rev = '(unknown)' changed = '' - if ui._bbrepo: - ctx = ui._bbrepo[None] + if repo: + ctx = repo[None] parents = ctx.parents() rev = ('+'.join([hex(p.node()) for p in parents])) if (ui.configbool('blackbox', 'dirty') and @@ -196,7 +178,6 @@ pass def setrepo(self, repo): - self._bbinlog = False self._bbrepo = repo ui.__class__ = blackboxui