File size: 3,019 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
 
 
 
 
 
 
 
 
 
 
 
 
 
11488bb
67b82ae
11488bb
67b82ae
11488bb
 
 
 
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
81
82
83
84
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,
	}