diff --git a/servicex/expandable_progress.py b/servicex/expandable_progress.py index 89c01133..f3f0e638 100644 --- a/servicex/expandable_progress.py +++ b/servicex/expandable_progress.py @@ -193,6 +193,10 @@ def advance(self, task_id, task_type): elif self.display_progress and not self.overall_progress: self.progress.advance(task_id=task_id) + def refresh(self): + if self.progress is not None: + self.progress.refresh() + class TranformStatusProgress(Progress): def get_renderables(self): diff --git a/servicex/query_core.py b/servicex/query_core.py index 54ecfbac..b805f620 100644 --- a/servicex/query_core.py +++ b/servicex/query_core.py @@ -191,6 +191,7 @@ def transform_complete(task: Task): :param task: :return: """ + expandable_progress.refresh() if task.exception(): logger.error( "ServiceX Exception", exc_info=task.exception() diff --git a/tests/test_expandable_progress.py b/tests/test_expandable_progress.py index 5593ca67..9de4c50d 100644 --- a/tests/test_expandable_progress.py +++ b/tests/test_expandable_progress.py @@ -61,6 +61,14 @@ def test_overall_progress_mock(mock_progress): assert mock_progress.return_value.stop.call_count == 1 +@patch("servicex.expandable_progress.TranformStatusProgress", + return_value=MagicMock(TranformStatusProgress)) +def test_refresh_mock(mock_progress): + with ExpandableProgress(overall_progress=True) as progress: + progress.refresh() + mock_progress.return_value.refresh.assert_called_once() + + def test_provided_progress(mocker): class MockedProgress(TranformStatusProgress): def __init__(self):