"""painel_tui.py — o painel do Primo no terminal, para quem não está no Mac (ou sem PyObjC)."""
from __future__ import annotations

import sys
import time

from primo_voz import painel as pn


def main() -> int:
    p = pn.Painel()
    cache: dict = {}
    am = pn.Amostrador()
    while True:
        r = pn.coletar_tudo(cache)
        p.sistema, p.info = r["sistema"], {**p.info, **r["info"]}
        sys.stdout.write("\x1b[H\x1b[J" + pn.renderizar_tui(p) + "\n")
        sys.stdout.flush()
        time.sleep(2)


if __name__ == "__main__":
    try:
        sys.exit(main())
    except KeyboardInterrupt:
        sys.exit(0)
