6from typing
import IO, Generator, Optional
18 def finish(self, final_status: str) ->
None:
26 file: Optional[IO[str]] =
None,
27 spin_chars: str =
"-\\|/",
29 min_update_interval_seconds: float = 0.125,
40 self.
_file.write(
" " * get_indentation() + self.
_message +
" ... ")
43 def _write(self, status: str) ->
None:
47 backup =
"\b" * self.
_width
48 self.
_file.write(backup +
" " * self.
_width + backup)
50 self.
_file.write(status)
62 def finish(self, final_status: str) ->
None:
66 self.
_file.write(
"\n")
76 def __init__(self, message: str, min_update_interval_seconds: float = 60.0) ->
None:
92 self.
_update(
"still running...")
94 def finish(self, final_status: str) ->
None:
97 self.
_update(f
"finished with status '{final_status}'")
102 def __init__(self, min_update_interval_seconds: float) ->
None:
115@contextlib.contextmanager
116def open_spinner(message: str) -> Generator[SpinnerInterface,
None,
None]:
129 except KeyboardInterrupt:
139HIDE_CURSOR =
"\x1b[?25l"
140SHOW_CURSOR =
"\x1b[?25h"
143@contextlib.contextmanager
None finish(self, str final_status)
__init__(self, str message, Optional[IO[str]] file=None, str spin_chars="-\\|/", float min_update_interval_seconds=0.125)
None _write(self, str status)
None finish(self, str final_status)
None _update(self, str status)
None __init__(self, str message, float min_update_interval_seconds=60.0)
None __init__(self, float min_update_interval_seconds)
_min_update_interval_seconds
None finish(self, str final_status)
Generator[None, None, None] hidden_cursor(IO[str] file)