| import progressbar as bar | |
| import sys | |
| def disable_widgets_if_not_interactive(kwargs): | |
| if not (sys.stdout.isatty() and sys.stderr.isatty()): | |
| # Disable all widgets if non-interactive | |
| print('No progressbar disabled because non-interactive terminal.') | |
| kwargs['widgets'] = [] | |
| def progressbar(*args, **kwargs): | |
| disable_widgets_if_not_interactive(kwargs) | |
| b = bar.progressbar(*args, **kwargs) | |
| return b | |
| class ProgressBar(bar.ProgressBar): | |
| def __init__(self, *args, **kwargs): | |
| disable_widgets_if_not_interactive(kwargs) | |
| super().__init__(*args, **kwargs) |