rad / funciones.py
Moibe's picture
Vigencia INE antigua lista
67b82ae
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, textos_extraidos_simplificados)
else:
vigencia = await documentos.ine_antes(textos_extraidos, textos_extraidos_simplificados)
return {
"vigencia": vigencia,
}