Mercurial > public > mercurial-scm > hg
diff hgext/progress.py @ 25499:0fa964d6fd48
progress: move all logic altering the ui object logic in mercurial.ui
The ui object can take care of its progress object logic by itself.
test-subrepo-recursion is modified because it is a bit sensitive to the "no
progress bar" default. It will become unnecessary in the next step when
progress will be on by default in core.
author | Pierre-Yves David <pierre-yves.david@fb.com> |
---|---|
date | Sun, 07 Jun 2015 17:50:56 -0700 |
parents | 7a5335ed7e1a |
children | c8fada8d9db9 |
line wrap: on
line diff
--- a/hgext/progress.py Sun Jun 07 17:26:34 2015 -0700 +++ b/hgext/progress.py Sun Jun 07 17:50:56 2015 -0700 @@ -35,43 +35,9 @@ characters. """ -from mercurial import progress -from mercurial import ui as uimod - def uisetup(ui): - class progressui(ui.__class__): - _progbar = None - - def _quiet(self): - return self.debugflag or self.quiet - - def progress(self, *args, **opts): - if not self._quiet(): - self._progbar.progress(*args, **opts) - return super(progressui, self).progress(*args, **opts) - - def write(self, *args, **opts): - if not self._quiet() and self._progbar.printed: - self._progbar.clear() - return super(progressui, self).write(*args, **opts) - - def write_err(self, *args, **opts): - if not self._quiet() and self._progbar.printed: - self._progbar.clear() - return super(progressui, self).write_err(*args, **opts) - - # Apps that derive a class from ui.ui() can use - # setconfig('progress', 'disable', 'True') to disable this extension - if ui.configbool('progress', 'disable'): - return - if progress.shouldprint(ui) and not ui.debugflag and not ui.quiet: - dval = object() - if getattr(ui, '_progbar', dval) is dval: - ui.__class__ = progressui - # we instantiate one globally-shared progress bar to avoid - # competing progress bars when multiple UI objects get created - if not progressui._progbar: - progressui._progbar = uimod.getprogbar(ui) + if ui.config('progress', 'disable', None) is None: + ui.setconfig('progress', 'disable', 'False', 'hgext-progress') def reposetup(ui, repo): uisetup(repo.ui)