type fixes, docs

This commit is contained in:
Will McGugan 2020-12-10 17:20:37 +00:00
parent c12ca86b7b
commit 6b5b80d68f
3 changed files with 20 additions and 8 deletions

View File

@ -768,9 +768,22 @@ class Console:
speed: float = 1.0,
refresh_per_second: float = 12.5,
) -> "Status":
"""Display a status and spinner.
Args:
status (RenderableType): A status renderable (str or Text typically).
console (Console, optional): Console instance to use, or None for global console. Defaults to None.
spinner (str, optional): Name of spinner animation (see python -m rich.spinner). Defaults to "dots".
spinner_style (StyleType, optional): Style of spinner. Defaults to "status.spinner".
speed (float, optional): Speed factor for spinner animation. Defaults to 1.0.
refresh_per_second (float, optional): Number of refreshes per second. Defaults to 12.5.
Returns:
Status: A Status object that may be used as a context manager.
"""
from .status import Status
status = Status(
status_renderable = Status(
status,
console=self,
spinner=spinner,
@ -778,7 +791,7 @@ class Console:
speed=speed,
refresh_per_second=refresh_per_second,
)
return status
return status_renderable
def show_cursor(self, show: bool = True) -> None:
"""Show or hide the cursor.

View File

@ -202,7 +202,7 @@ class RenderableColumn(ProgressColumn):
super().__init__()
def render(self, task: "Task") -> RenderableType:
return Text("") if self.renderable is None else self.renderable
return self.renderable
class SpinnerColumn(ProgressColumn):
@ -248,7 +248,7 @@ class SpinnerColumn(ProgressColumn):
def render(self, task: "Task") -> Text:
if task.finished:
return self.finished_text
text = self.spinner.render(task._get_time())
text = self.spinner.render(task.get_time())
return text

View File

@ -1,5 +1,4 @@
import typing
from typing import Optional, TYPE_CHECKING
from typing import cast, List, Optional, TYPE_CHECKING
from ._spinners import SPINNERS
from .console import Console
@ -31,8 +30,8 @@ class Spinner:
except KeyError:
raise KeyError(f"no spinner called {name!r}")
self.text = text
self.frames = spinner["frames"][:]
self.interval = spinner["interval"]
self.frames = cast(List[str], spinner["frames"])[:]
self.interval = cast(float, spinner["interval"])
self.start_time: Optional[float] = None
self.style = style
self.speed = speed