File size: 3,222 Bytes
2e0d094 eabea5d d78e28f 2e0d094 d78e28f 2e0d094 67b82ae d78e28f 67b82ae 2e0d094 eabea5d 2e0d094 93a5ed3 2e0d094 d78e28f 358280c 2e0d094 d78e28f 2e0d094 358280c 67b82ae d9436e3 eabea5d 67b82ae eabea5d 67b82ae eabea5d d9436e3 67b82ae eabea5d 67b82ae eabea5d 67b82ae |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 |
import herramientas
import conceptos_busqueda
import time
from conceptos_busqueda import documentos as documentos
def identifica_documento(textos_extraidos_simplificados):
"""
Busca el tipo de documento en el texto, probando con una lista de documentos.
Args:
textos_extraidos_simplificados (list): Lista de strings con el texto a analizar.
Returns:
str: El nombre del primer documento encontrado ('dni', 'pasaporte', etc.),
o None si ninguno de los documentos fue identificado.
"""
for tipo_documento in documentos:
print("Revisando tipo de documento: ", tipo_documento)
time.sleep(3)
# Usamos 'getattr' para acceder dinámicamente al atributo correcto
# del objeto 'conceptos_busqueda', como 'conceptos_busqueda.dni'.
conceptos_actuales = getattr(conceptos_busqueda, tipo_documento)
# Llama a la función de búsqueda para el tipo de documento actual
indice, textos_corregidos = herramientas.buscaIndexMultiplesPalabras(
textos_extraidos_simplificados,
conceptos_actuales
)
# Si la búsqueda encuentra un resultado, salimos inmediatamente y retornamos
# el nombre del documento.
if indice is not None:
print(f"No fue none, hizo su encuentro en el documento: ", tipo_documento)
# time.sleep(7)
# Puedes retornar el tipo_documento y los textos corregidos
# return tipo_documento, textos_corregidos
# O simplemente el tipo de documento, como en tu ejemplo
return tipo_documento
print("Índice no fue None, continua la búsqueda...")
# Si el bucle termina sin encontrar ningún documento, retornamos None
# print("Se acabó la búsqueda y no encontró nada.")
# time.sleep(4)
return "Documento no identificado."
def identifica_ine(textos_extraidos_simplificados):
#Identifica si una INE es nueva o antigüa edición.
#Buscaré los dos campos que tienen SOLO las INE antigüas: localidad y municipio.
#Municipio
conceptos_busqueda = [{
'preferida': 'municipio',
#'alternativas': ['']
}]
print("Entrando a busqueda de municipio en buscar multiples palabras: ")
indice, textos_extraidos_corregidos = herramientas.buscaIndexMultiplesPalabras(textos_extraidos_simplificados, conceptos_busqueda)
print("Salí de la búsqueda...")
municipio_existe = True if indice is not None else False
print("Municipio existe: ", municipio_existe)
#Localidad
conceptos_busqueda = [{'preferida': 'localidad', 'alternativas': ['']}]
indice, textos_extraidos_corregidos = herramientas.buscaIndexMultiplesPalabras(textos_extraidos_simplificados, conceptos_busqueda)
localidad_existe = True if indice is not None else False
print("Localidad existe: ", localidad_existe)
if municipio_existe and localidad_existe:
tipo_ine = 'ine_antes'
else:
tipo_ine = 'ine_actual'
print("INE detectada es: ", tipo_ine)
return tipo_ine |