|
15 | 15 | from python_utils.time import format_time |
16 | 16 | from python_utils.time import timedelta_to_seconds |
17 | 17 |
|
| 18 | +if types.TYPE_CHECKING: |
| 19 | + from .bar import ProgressBar |
| 20 | + |
18 | 21 | assert timedelta_to_seconds |
19 | 22 | assert get_terminal_size |
20 | 23 | assert format_time |
@@ -188,12 +191,12 @@ def env_flag(name: str, default: bool | None = None) -> bool | None: |
188 | 191 |
|
189 | 192 | class WrappingIO: |
190 | 193 |
|
191 | | - def __init__(self, target: types.IO, capturing: bool = False, listeners: |
192 | | - types.Set['progressbar.ProgressBar'] = set()) -> None: |
| 194 | + def __init__(self, target: types.IO, capturing: bool = False, |
| 195 | + listeners: types.Set[ProgressBar] = None) -> None: |
193 | 196 | self.buffer = io.StringIO() |
194 | 197 | self.target = target |
195 | 198 | self.capturing = capturing |
196 | | - self.listeners = listeners |
| 199 | + self.listeners = listeners or set() |
197 | 200 | self.needs_clear = False |
198 | 201 |
|
199 | 202 | def isatty(self): # pragma: no cover |
@@ -250,20 +253,14 @@ def __init__(self): |
250 | 253 | if env_flag('WRAP_STDERR', default=False): # pragma: no cover |
251 | 254 | self.wrap_stderr() |
252 | 255 |
|
253 | | - def start_capturing( |
254 | | - self, |
255 | | - bar: 'progressbar.ProgressBar' | 'progressbar.DataTransferBar' |
256 | | - | None = None, |
257 | | - ) -> None: |
| 256 | + def start_capturing(self, bar: ProgressBar | None = None) -> None: |
258 | 257 | if bar: # pragma: no branch |
259 | 258 | self.listeners.add(bar) |
260 | 259 |
|
261 | 260 | self.capturing += 1 |
262 | 261 | self.update_capturing() |
263 | 262 |
|
264 | | - def stop_capturing( |
265 | | - self, bar: 'progressbar.ProgressBar' |
266 | | - | 'progressbar.DataTransferBar' | None = None) -> None: |
| 263 | + def stop_capturing(self, bar: ProgressBar | None = None) -> None: |
267 | 264 | if bar: # pragma: no branch |
268 | 265 | try: |
269 | 266 | self.listeners.remove(bar) |
|
0 commit comments