ui: make progress bars respect --quiet (#3316)

* ui: default no_progress_bar=None instead of False

Fixes #3314

* ui: catch remaining missing auto-quiet progress

* progress: treat disable=False as None

* test: progress.Tqdm(disable=False)

* revert no_progress_bar=None <= False

partially reverts e0342a8641f0101d
This commit is contained in:
Casper da Costa-Luis
2020-02-15 00:53:52 +02:00
committed by GitHub
parent 77f24af727
commit 276a2b02a3
3 changed files with 16 additions and 4 deletions
+3 -2
View File
@@ -55,7 +55,8 @@ class Tqdm(tqdm):
desc : persists after `close()`
level : effective logging level for determining `disable`;
used only if `disable` is unspecified
disable : If (default: None), will be determined by logging level.
disable : If (default: None) or False,
will be determined by logging level.
May be overridden to `True` due to non-TTY status.
Skip override by specifying env var `DVC_IGNORE_ISATTY`.
kwargs : anything accepted by `tqdm.tqdm()`
@@ -69,7 +70,7 @@ class Tqdm(tqdm):
file = sys.stderr
self.desc_persist = desc
# auto-disable based on `logger.level`
if disable is None:
if not disable:
disable = logger.getEffectiveLevel() > level
# auto-disable based on TTY
if (
+2 -2
View File
@@ -73,7 +73,7 @@ def add(repo, targets, recursive=False, no_commit=False, fname=None):
total=len(stages),
desc="Processing",
unit="file",
disable=True if len(stages) == 1 else None,
disable=len(stages) == 1,
) as pbar_stages:
for stage in stages:
try:
@@ -120,7 +120,7 @@ def _create_stages(repo, targets, fname, pbar=None):
for out in Tqdm(
targets,
desc="Creating DVC-files",
disable=True if len(targets) < LARGE_DIR_SIZE else None,
disable=len(targets) < LARGE_DIR_SIZE,
unit="file",
):
stage = Stage.create(
+11
View File
@@ -16,6 +16,17 @@ def test_quiet_logging(caplog, capsys):
assert out_err.err == ""
def test_quiet_logging_disable_false(caplog, capsys):
with caplog.at_level(logging.CRITICAL, logger="dvc"):
# simulate interactive terminal
with mock.patch.object(sys.stderr, "isatty", return_value=True):
for _ in Tqdm(range(10), disable=False):
pass
out_err = capsys.readouterr()
assert out_err.out == ""
assert out_err.err == ""
def test_quiet_notty(caplog, capsys):
with caplog.at_level(logging.INFO, logger="dvc"):
for _ in Tqdm(range(10)):