feat: add SuppressOutput util

This context manager suppresses/hides stdout.
This commit is contained in:
psychedelicious 2024-03-19 12:45:51 +11:00
parent 5c1aa02e7b
commit 857e9c9b5f

View File

@ -0,0 +1,24 @@
import io
import sys
from typing import Any
class SuppressOutput:
"""Context manager to suppress stdout.
Example:
```
with SuppressOutput():
print("This will not be printed")
```
"""
def __enter__(self):
# Save the original stdout
self._original_stdout = sys.stdout
# Redirect stdout to a dummy StringIO object
sys.stdout = io.StringIO()
def __exit__(self, *args: Any, **kwargs: Any):
# Restore stdout
sys.stdout = self._original_stdout