import requests
from bs4 import BeautifulSoup

import Facturacion.models


# consultar datos del vehiculo
def consultar_vehiculos_placa(placa):
    try:
        website = f"https://consultaweb.ant.gob.ec/PortalWEB/paginas/clientes/clp_grid_citaciones.jsp?ps_tipo_identificacion=PLA&ps_identificacion={placa}&ps_placa="
        result = requests.get(website)
        contenido = result.text
        soup = BeautifulSoup(contenido, 'lxml')
        placa = soup.find('td', class_='titulo2')
        datos = soup.find_all('td', class_='detalle_formulario')
        # print("---------------- DATOS DEL VEHICULO ----------------------")
        # print("Placa:", placa.get_text(strip=True, separator=" "))
        # print("Marca:", datos[0].get_text(strip=True, separator=" "))
        # print("Color:", datos[1].get_text())
        # print("Año de Matrícula:", datos[2].get_text(strip=True, separator=" "))
        # print("Modelo:", datos[3].get_text(strip=True, separator=" "))
        # print("Clase:", datos[4].get_text(strip=True, separator=" "))
        # print("Fecha de Matrícula:", datos[5].get_text(strip=True, separator=" "))
        # print("Año:", datos[6].get_text(strip=True, separator=" "))
        # print("Tipo de Servicio:", datos[7].get_text(strip=True, separator=" "))
        # print("Fecha Caducidad Matrícula:", datos[8].get_text(strip=True, separator=" "))
        # #valores de la multa
        # multa = soup.find('iframe', id='iframe_estado_cuenta')
        # website2 = "https://consultaweb.ant.gob.ec/PortalWEB/paginas/clientes/%s" % multa.attrs['src']
        # print(website2)
        # result2 = requests.get(website2)
        # contenido2 = result2.text
        # print("---------------- DEUDA ----------------------")
        # soup2 = BeautifulSoup(contenido2, 'lxml')
        # valores = soup2.find_all('font', class_='etiqueta_formulario_10')
        # print("Valor Pendiente:", valores[1].get_text(strip=True, separator=" "))
        # print("Valor Convenio:", valores[3].get_text(strip=True, separator=" "))
        # print("intereses Pendientes:", valores[5].get_text(strip=True, separator=" "))
        # print("Total en Remisión:", valores[7].get_text(strip=True, separator=" "))
        # totales = soup2.find_all('font', class_='titulo1')
        # print("Total ANT:", totales[1].get_text(strip=True, separator=" "))
        # print("Total:", totales[5].get_text(strip=True, separator=" "))
        data = {
            "Placa": placa.get_text(strip=True, separator=" "),
            "Marca": datos[0].get_text(strip=True, separator=" "),
            "Color": datos[1].get_text(),
            "anioMatrícula": datos[2].get_text(strip=True, separator=" "),
            "Modelo": datos[3].get_text(strip=True, separator=" "),
            "Clase": datos[4].get_text(strip=True, separator=" "),
            "FechaMatrícula": datos[5].get_text(strip=True, separator=" "),
            "Anio": datos[6].get_text(strip=True, separator=" "),
            "TipoServicio": datos[7].get_text(strip=True, separator=" "),
            "FechaCaducidadMatrícula": datos[8].get_text(strip=True, separator=" "),
        }
    except:
        data = {
            "Placa": "",
            "Marca": "",
            "Color": "",
            "anioMatrícula": "",
            "Modelo":"",
            "Clase":"",
            "FechaMatrícula": "",
            "Anio": 0,
            "TipoServicio": "",
            "FechaCaducidadMatrícula":"",
        }
    return data


def buscar_persona(cedula):
    data = {}
    cliente=None
    try:
        cliente = Facturacion.models.Clientes.objects.get(numero_identificacion=cedula)
    except:
        pass
    if cliente:
        nombre = cliente.razon_social.split(" ")
        print(nombre,'cliente encontrado')
        data.setdefault('nombre1', nombre[0])
        data.setdefault('nombre2', nombre[1])
        if len(nombre)>=3:
            data.setdefault('apellido1',nombre[2])
        if len(nombre) >= 4:
            data.setdefault('apellido2', nombre[3])
        data.setdefault('email', cliente.email)
        data.setdefault('telefono',cliente.telefono)
        data.setdefault('direccion',cliente.direccion)
        data.setdefault('cedula', cliente.numero_identificacion)
    else:
        try:
            web3 = f"https://consultaweb.ant.gob.ec/PortalWEB/paginas/clientes/clp_grid_citaciones.jsp?ps_tipo_identificacion=CED&ps_identificacion={cedula}&ps_placa="
            result3 = requests.get(web3)
            contenido3 = result3.text
            soup3 = BeautifulSoup(contenido3, 'lxml')
            nombre = soup3.find('td', class_='titulo1').get_text(strip=True, separator=" ").split()
            cedula = soup3.find('td', class_='MarcoTitulo').get_text(strip=True, separator=" ")
            data.setdefault('nombre1', nombre[2])
            data.setdefault('nombre2',nombre[3])
            data.setdefault('apellido1', nombre[0])
            data.setdefault('apellido2', nombre[1])
            data.setdefault('email', '')
            data.setdefault('telefono', '')
            data.setdefault('direccion', '')
            data.setdefault('cedula', cedula.replace("CED - ", ""))
            return data
        except:
            data.setdefault('nombre1', "")
            data.setdefault('nombre2', "")
            data.setdefault('apellido1',"")
            data.setdefault('apellido2', "")
            data.setdefault('email', "")
            data.setdefault('telefono', "")
            data.setdefault('direccion', "")
            data.setdefault('cedula', "")
    return data


#print(consultar_vehiculos_placa('OAA1205'))
