From de97d3ddac7f560d58ec89823a596cdcd1a45b9d Mon Sep 17 00:00:00 2001 From: Casper da Costa-Luis Date: Tue, 27 Aug 2019 11:08:27 +0100 Subject: [PATCH] persistent desc --- dvc/progress.py | 20 +++++++++++++++----- dvc/repo/checkout.py | 1 - 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/dvc/progress.py b/dvc/progress.py index a638d1bf8..13c05ed36 100644 --- a/dvc/progress.py +++ b/dvc/progress.py @@ -47,18 +47,20 @@ class Tqdm(tqdm): self, iterable=None, disable=None, - bytes=False, # pylint: disable=W0622 + level=logging.ERROR, + desc=None, desc_truncate=None, leave=None, - bar_format=None, - level=logging.ERROR, level_leave=logging.DEBUG, + bar_format=None, + bytes=False, # pylint: disable=W0622 **kwargs ): """ bytes : shortcut for `unit='B', unit_scale=True, unit_divisor=1024, miniters=1` - desc_truncate : like `desc` but will truncate to 10 chars + desc : persists after `close()` + desc_truncate : like `desc` but will `truncate()` and not persist level : effective logging level for determining `disable`; used only if `disable` is unspecified level_leave : effective logging level for determining `leave`; @@ -72,8 +74,10 @@ class Tqdm(tqdm): unit="B", unit_scale=True, unit_divisor=1024, miniters=1 ).items(): kwargs.setdefault(k, v) + if desc is not None: + self.desc_persist = desc if desc_truncate is not None: - kwargs.setdefault("desc", self.truncate(desc_truncate)) + desc = self.truncate(desc_truncate) if disable is None: disable = logger.getEffectiveLevel() > level if leave is None: @@ -87,6 +91,7 @@ class Tqdm(tqdm): iterable=iterable, disable=disable, leave=leave, + desc=desc, bar_format=bar_format, **kwargs ) @@ -105,6 +110,11 @@ class Tqdm(tqdm): self.total = total # pylint: disable=W0613,W0201 self.update(current - self.n) + def close(self): + if hasattr(self, "desc_persist"): + self.set_description_str(self.desc_persist, refresh=False) + super(Tqdm, self).close() + @classmethod def truncate(cls, s, max_len=25, end=True, fill="..."): """ diff --git a/dvc/repo/checkout.py b/dvc/repo/checkout.py index c7b967710..26057c15c 100644 --- a/dvc/repo/checkout.py +++ b/dvc/repo/checkout.py @@ -57,4 +57,3 @@ def checkout(self, target=None, with_deps=False, force=False, recursive=False): ) stage.checkout(force=force, progress_callback=pbar.update_desc) - pbar.set_description_str("Checkout")