123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- """Functions to communicate to the user via console."""
- from __future__ import annotations
- from typing import List, Optional
- from rich.console import Console
- from rich.prompt import Prompt
- from rich.status import Status
- # Console for pretty printing.
- _console = Console()
- def deprecate(msg: str) -> None:
- """Print a deprecation warning.
- Args:
- msg: The deprecation message.
- """
- _console.print(f"[yellow]DeprecationWarning: {msg}[/yellow]")
- def log(msg: str) -> None:
- """Takes a string and logs it to the console.
- Args:
- msg (str): The message to log.
- """
- _console.log(msg)
- def print(msg: str) -> None:
- """Prints the given message to the console.
- Args:
- msg (str): The message to print to the console.
- """
- _console.print(msg)
- def rule(title: str) -> None:
- """Prints a horizontal rule with a title.
- Args:
- title (str): The title of the rule.
- """
- _console.rule(title)
- def ask(
- question: str, choices: Optional[List[str]] = None, default: Optional[str] = None
- ) -> str:
- """Takes a prompt question and optionally a list of choices
- and returns the user input.
- Args:
- question (str): The question to ask the user.
- choices (Optional[List[str]]): A list of choices to select from.
- default(Optional[str]): The default option selected.
- Returns:
- A string
- """
- return Prompt.ask(question, choices=choices, default=default) # type: ignore
- def status(msg: str) -> Status:
- """Returns a status,
- which can be used as a context manager.
- Args:
- msg (str): The message to be used as status title.
- Returns:
- The status of the console.
- """
- return _console.status(msg)
|