from lib.obter_configuracoes import obter_configuracoes
import sys
from pathlib import Path
from lib.echo import echo
from lib.executar_validacoes_servidor_linux import executar_validacoes_servidor_linux
from lib.ClienteLinux import obter_cliente_linux
from lib.mu_whatsapp_api import recriar_mu_whatsapp_api
from lib.versoes_sistemas import ErroVersaoSistema, preparar_versao_sistema

arquivo_configuracao = None if len(sys.argv) < 2 else sys.argv[1]
diretorio_scripts_implantacao = r'c:\microuniversoWeb\scriptsImplantacao' if len(sys.argv) < 3 else sys.argv[2]

configuracoes = obter_configuracoes(arquivo_configuracao)

if not configuracoes["acessos"]["servidorLinux"]["configurar"]:
    echo("Dados do servidor linux nao informados. Api MuWhatsapp nao sera configurada")
    exit(0)

if not configuracoes["muWhatsapp"]["configurarApi"]:
    echo("Configuracao da api MuWhatsapp desativada via configuracao")
    exit(0)

mensagem_erro = executar_validacoes_servidor_linux(arquivo_configuracao, diretorio_scripts_implantacao)

if mensagem_erro:
    echo(mensagem_erro, "error")
    exit(1)

try:
    versao = preparar_versao_sistema(configuracoes, "muWhatsapp", diretorio_scripts_implantacao)
except ErroVersaoSistema as erro:
    echo(str(erro), "error")
    exit(1)

cliente_linux = obter_cliente_linux(arquivo_configuracao)
recriar_mu_whatsapp_api(cliente_linux, configuracoes, diretorio_scripts_implantacao, versao=versao)

exit(0)
