#!/usr/bin/python3
import subprocess
import json
from enum import Enum

class StatusTestMode(Enum):
    DESACTIVADO = 0
    ACTIVADO = 1


SOURCE_CONFIG = "/srv/datalogger_mmr/config_mmr.json"

def update_config(source_config, status_test_mode):
    try:
        #ESCRIBIR JSON
        config["TEST_MODE"] = status
        with open(source_config,'w') as archivo:
            json.dump(config, archivo)
    except:
        print("No se pudo sobreescribir el json")

print('Configuracion de modo test\n')

try:
    config_file=open(SOURCE_CONFIG,'r')
    config=json.load(config_file)
    status = config["TEST_MODE"]
    print(f"Modo Test {StatusTestMode(status).name}\n")

    while True:
        sel=input("Desea Salir (Q), Consultar (C), Modificar (M) la configuracion de Modo Test?: ")
        try:
            if sel=='C' or sel=='c':
                print(f"Modo Test {StatusTestMode(status).name}\n")

            elif sel=='M' or sel=='m':
                print("Seleccione modo test::")
                print("1- ACTIVADO")
                print("2- DESACTIVADO")
                sel_status=input("Ingrese la opcion 1 o 2: ")
                if sel_status =="1":
                    status = StatusTestMode.ACTIVADO.value
                    update_config(config, status)
                    out1 = subprocess.check_output(['systemctl','restart','mining-server.service'])
                    print("MODO TEST ACTIVADO")

                elif sel_status =="2":
                    status = StatusTestMode.DESACTIVADO.value
                    update_config(config, status)
                    out1 = subprocess.check_output(['systemctl','restart','mining-server.service'])
                    print("MODO TEST DESACTIVADO")

                else:
                    print("Ingrese un valor valido")

            elif sel=="Q" or sel=="q":
                break

            else:
                print("Ingrese un valor valido")

        except Exception as ex:
            print(ex)
            print("Ingrese un valor valido")
    

except:
    print("No existe archivo config_mmr.json")
