csds-project / console_manager.py
beatrizpm's picture
Upload 9 files
532f1f0 verified
from typing import Any, Dict
from rich.console import Console
from rich.markdown import Markdown
from rich.status import Status
def dict_to_markdown_table(dictionary: Dict[str, Any]) -> str:
table = "| Key | Value |\n| --- | ----- |\n"
for key, value in dictionary.items():
table += f"| {key} | {value} |\n"
return table
class ConsoleManager:
def __init__(self) -> None:
self.console = Console()
def print_markdown(self, markdown: str) -> None:
self.console.print(Markdown(markdown))
def print_success(self, message: str) -> None:
self.console.print(f"[bold green](success)[/bold green] {message}")
def print_error(self, message: str) -> None:
self.console.print(f"[bold red](error)[/bold red] {message}")
def print_info(self, message: str) -> None:
self.console.print(f"[bold blue](info)[/bold blue] {message}")
def print_dict(self, dictionary: Dict[str, Any], header: str = "") -> None:
markdown_table = dict_to_markdown_table(dictionary)
if header:
self.print_markdown(f"# {header}\n")
self.console.print(Markdown(markdown_table))
def status(self, message: str) -> Status:
return self.console.status(f"[bold green]{message}[/bold green]")
console_manager = ConsoleManager()