File size: 2,962 Bytes
67b82ae
e0b339d
2e0d094
 
8b73048
67b82ae
93a5ed3
 
d35e97b
93a5ed3
 
 
 
 
 
 
b226794
93a5ed3
2e0d094
 
b226794
 
 
67b82ae
b226794
 
 
 
e0b339d
 
d56556d
 
 
e0b339d
d35e97b
b226794
 
67b82ae
b226794
 
d35e97b
b226794
 
d35e97b
 
b226794
 
 
 
 
 
 
 
 
 
 
 
 
 
 
67b82ae
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5b91cf1
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
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,
	}