import time import documentos import herramientas import identificador async def identifica_documento(image): textos_extraidos = await herramientas.procesaImagen(image) textos_extraidos_simplificados = herramientas.simplificaTextos(textos_extraidos) documento = identificador.identifica_documento(textos_extraidos_simplificados) return { "documento": documento } async def procesa_documento(image): textos_extraidos = await herramientas.procesaImagen(image) textos_extraidos_simplificados = herramientas.simplificaTextos(textos_extraidos) documento = identificador.identifica_documento(textos_extraidos_simplificados) if documento == 'dni': # Llama a la función 'dni' si el documento es un DNI nombre, apellido, identificacion, fecha_nacimiento, sexo = await documentos.dni(textos_extraidos, textos_extraidos_simplificados) print("Procesado como DNI.") return { "documento": documento, "nombre": nombre, "apellido": apellido, "identificacion": identificacion, "fecha_nacimiento": fecha_nacimiento, "sexo": sexo } elif documento == 'pasaporte': # Llama a la función 'pasaporte' si el documento es un pasaporte #nombre, apellido, identificacion, fecha_nacimiento, sexo = await documentos.pasaporte(textos_extraidos, textos_extraidos_simplificados) nombre, apellido, identificacion, pasaporte, fecha_nacimiento, sexo, fecha_expedicion, fecha_vencimiento = 'pasaporte', 'pasaporte', 'pasaporte', 'pasaporte', 'pasaporte', 'pasaporte', 'pasaporte', 'pasaporte' print("Procesado como Pasaporte.") return { "documento": documento, "nombre": nombre, "apellido": apellido, "identificacion": identificacion, "pasaporte": pasaporte, "fecha_nacimiento": fecha_nacimiento, "sexo": sexo, "fecha_expedicion": fecha_expedicion, "fecha_vencimiento": fecha_vencimiento } else: # Maneja cualquier otro caso no esperado print(f"Tipo de documento no reconocido: {documento}") # Podrías asignar None a las variables o levantar un error aquí #nombre, apellido, identificacion, fecha_nacimiento, sexo = None, None, None, None, None return { "error": "El documento no es un dni o pasaporte válido o requiere ser más legible.", } async def procesa_ine(image): textos_extraidos = await herramientas.procesaImagen(image) textos_extraidos_simplificados = herramientas.simplificaTextos(textos_extraidos) #Identifico documento aún así como verificador sobre lo que sube el usuario. documento = identificador.identifica_documento(textos_extraidos_simplificados) print("Documento: ", documento) if documento == 'ine': tipo_ine = identificador.identifica_ine(textos_extraidos_simplificados) print("Tipo ine es : ", tipo_ine) if tipo_ine == 'ine_actual': vigencia = await documentos.ine_actual(textos_extraidos_simplificados) else: vigencia = await documentos.ine_antes(textos_extraidos_simplificados) return { "nombre": "-----", "domicilio": "-----", "clave_elector": "-----", "sexo": "-----", "vigencia": vigencia, }