File size: 2,619 Bytes
2e0d094
 
 
 
 
 
 
 
 
 
 
 
 
 
67b82ae
2e0d094
 
 
67b82ae
 
2e0d094
 
 
67b82ae
2e0d094
 
93a5ed3
2e0d094
 
 
 
 
 
 
 
 
 
 
 
 
 
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
import herramientas
import conceptos_busqueda

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.
    """
    print("Estoy en identifica documento...")
    documentos = ['ine', 'dni', 'pasaporte']

    for tipo_documento in documentos:
        print("Revisando tipo de documento: ", tipo_documento)
    
        # Usamos 'getattr' para acceder dinámicamente al atributo correcto
        # del objeto 'conceptos_busqueda', como 'conceptos_busqueda.dni'.
        conceptos_actuales = getattr(conceptos_busqueda, tipo_documento)
        print("Conceptos_Actuales usados: ", conceptos_actuales)
        
        # 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:
            # 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

    # Si el bucle termina sin encontrar ningún documento, retornamos None
    return None

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': ['']}]
    indice, textos_extraidos_corregidos = herramientas.buscaIndexMultiplesPalabras(textos_extraidos_simplificados, conceptos_busqueda)
    municipio_existe = True if indice is not None else False

    #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

    if municipio_existe and localidad_existe:
        tipo_ine = 'ine_antes'
    else: 
        tipo_ine = 'ine_actual' 
    
    return tipo_ine