class sms(object):
    """Clase que permite el envio de sms por conexion USB a celular Android"""
    def __init__(self):
        """Asignacion de valores a los atributos de la clase"""
        self._cliente = SOAPpy.SOAPProxy("http://localhost:8580/")

        self._validar = Validar()

    def __getattr__(self):
        return None
    

    def _ajustar_conf(self):
        """Permite ajustar la configuracion por medio de adb"""
        resultado = self._cliente.detectar_dispositivos()
        if resultado["estado"] == False: return {"estado":False}
        self._cliente.remover_forwarding()
        resultado = self._cliente.agregar_forwarding(self._port)
        return {"estado":resultado["estado"]}


    def info_cel(self):
        """
        Se verifica si el dispositivo existe.
        si no se levanta el dispositivo.
        """
        resultado = self._cliente.detectar_dispositivos()
        if resultado["estado"] == True:
            return resultado["dispositivo"]
        else:
            return {"dispositivos":[],"estado":False}





    def sms_send(self,port_android,numero,mensaje):
        
        """EnviarMensaje: Metodo que permite enviar un mensaje de texto
        pasando el numero y el mensaje
        Maneja ambos casos conexion USB o por red wifi.
        """
        if self._validar.num_cel(numero) == False:
            print(u"Numero no valido")
            return {"estado": False}
        resultado = self._ajustar_conf()
        if resultado["estado"] == False: return {"estado": False}
        droid = android.Android()
        #Enviando el mensaje de texto
        droid.smsSend(numero,mensaje)
        return {"estado":True}
    def __init__(self):
        """Asignacion de valores a los atributos de la clase"""
        self._cliente = SOAPpy.SOAPProxy("http://localhost:8580/")

        self._validar = Validar()