|  | 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) |