From aaa467a96bfa898f22b0bee0ca39ae7bf6e53ba7 Mon Sep 17 00:00:00 2001 From: skshetry Date: Tue, 20 Sep 2022 17:03:17 +0545 Subject: [PATCH] fs.callback.RichCallback: add transient support (#8335) --- dvc/fs/callbacks.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/dvc/fs/callbacks.py b/dvc/fs/callbacks.py index 8883f100f..61edc6ecc 100644 --- a/dvc/fs/callbacks.py +++ b/dvc/fs/callbacks.py @@ -24,6 +24,7 @@ class RichCallback(Callback): bytes: bool = False, # pylint: disable=redefined-builtin unit: str = None, disable: bool = False, + transient: bool = True, ) -> None: self._progress = progress self.disable = disable @@ -35,6 +36,7 @@ class RichCallback(Callback): "visible": False, "progress_type": None if bytes else "summary", } + self._transient = transient self._stack = ExitStack() super().__init__(size=size, value=value) @@ -47,7 +49,7 @@ class RichCallback(Callback): return self._progress progress = RichTransferProgress( - transient=True, + transient=self._transient, disable=self.disable, console=ui.error_console, ) @@ -61,7 +63,8 @@ class RichCallback(Callback): return self def close(self): - self.progress.clear_task(self.task) + if self._transient: + self.progress.clear_task(self.task) self._stack.close() def call(self, hook_name=None, **kwargs): @@ -74,6 +77,9 @@ class RichCallback(Callback): def branch(self, path_1, path_2, kwargs, child: Optional[Callback] = None): child = child or RichCallback( - progress=self.progress, desc=path_1, bytes=True + progress=self.progress, + desc=path_1, + bytes=True, + transient=self._transient, ) return super().branch(path_1, path_2, kwargs, child=child)