import os

def limpar():
    os.system("clear")


def render_uds(texto):
    linhas = texto.split("\n")

    for linha in linhas:
        l = linha.strip()

        if l.startswith("JF "):
            print("\n=== " + l.replace("JF ", "") + " ===")

        elif l.startswith("JF2 "):
            print("\n-- " + l.replace("JF2 ", "") + " --")

        elif l.startswith("TX "):
            print(l.replace("TX ", ""))

        elif l.startswith("GO "):
            print("[BOTÃO] " + l.replace("GO ", ""))

        elif l == "Hug":
            print("----------------------")


def salvar_arquivo(conteudo):
    nome = input("\nNome do arquivo (sem extensão): ")
    
    caminho = f"/storage/emulated/0/Download/{nome}.UDSn"

    with open(caminho, "w", encoding="utf-8") as f:
        f.write(conteudo)

    print(f"\nArquivo salvo em: {caminho}")


def main():
    limpar()
    print("=== UDS CLI v3 ===")
    print("Digite seu código UDS")
    print("Use /executar para rodar e salvar\n")

    linhas = []

    while True:
        linha = input("> ")

        if linha == "/executar":
            conteudo = "\n".join(linhas)

            limpar()
            print("=== RESULTADO ===")
            render_uds(conteudo)

            salvar_arquivo(conteudo)
            break

        else:
            linhas.append(linha)


if __name__ == "__main__":
    main()