File size: 2,384 Bytes
813882c
 
348a201
813882c
 
22566a2
 
 
 
 
4efdedf
22566a2
813882c
 
 
6692b39
 
813882c
 
 
 
 
 
9b4c8a4
813882c
 
299d653
813882c
4dc2073
44df4ab
813882c
e035faa
813882c
8a2b7a4
299d653
68be404
 
9105fdd
813882c
 
d429a63
aa1290e
d429a63
 
06d26d2
 
 
d429a63
 
 
f827977
 
d429a63
 
 
 
 
e035faa
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
import gradio as gr

def chequear_fecha(dias, meses, anios, imprimirdias):
	"""formato: anio mes dia desde la creación"""
	
	#convierto inputs a integrales
	anios = int(anios)
	meses = int(meses)
	dias = int(dias)
	
	son_dias = round(anios*365.2422 + meses*29.53 + dias)
	
	nombre_dias = ['día 1', 'día 2', 'día 3', 'día 4', 'día 5', 'día 6', 'Shabbat']
	index_dia = -1
		
	salida_dias = "" #esto lo voy a mostrar como salida
	
	for dia in range(son_dias):
		index_dia += 1
		if index_dia == 7:
			index_dia = 0
			salto = "\n"
		else:
			salto = ", "
		nombre_dia = nombre_dias[index_dia]
		dia_actual = dia + 1
	
		#imprimo solo lo que el usuario quiere
		if imprimirdias == 0 or dia >= (son_dias - imprimirdias):
			salida_dias += "{}{} > {}".format(salto, dia_actual, nombre_dia)
	
	salida_suma = "son días: " + str(son_dias) + ", correspondientes a {} años + {} meses + {} días desde la creación.".format(anios, meses, dias)
	
	salida_nota = "Los años se calcularon en base al ciclo solar de 365.2422 días, el mes/es ingresado se considera de 29.53 días según la órbita lunar.\n\n Si se considera que el inicio de año y mes fue el día 4to de la creación (cuando se creó la luna), entonces hay que agregar 3 días más como entrada para el cálculo."
	
	salida_sumaynota = salida_suma+"\n"+salida_nota
	
	return salida_dias[1:], salida_sumaynota

#UI
#iface = gr.Interface(fn=chequear_fecha, inputs=[gr.Textbox(label="Días:", value=0), gr.Textbox(label="Meses:", value=0), gr.Textbox(label="Años:", value=0), gr.Slider(label="Mostrar últimos días (cero muestra todo):", minimum=0, maximum=3000000, value=1, step=10)], outputs=[gr.Textbox(label="Resultados"), gr.Textbox(label="Nota:")])

with gr.Blocks() as iface:
	with gr.Row():
		i_dias = gr.Number(label="Días:", value=0, elem_id="dias")
		i_meses = gr.Number(label="Meses:", value=0, elem_id="meses")
		i_anios = gr.Number(label="Años:", value=0, elem_id="anios")
	i_mostrar = gr.Slider(label="Mostrar últimos días (cero muestra todo):", minimum=0, maximum=3000000, value=1, step=10)
	with gr.Row():
		bt_calcular = gr.Button("Calcular!")
		bt_limpiar = gr.Button("Limpiar")
		
	o_resultados = gr.Textbox(label="Resultados")
	o_notas = gr.Textbox(label="Nota:")
	
	bt_calcular.click(fn=chequear_fecha, inputs=[i_dias, i_meses, i_anios, i_mostrar], outputs=[o_resultados, o_notas])
	
iface.launch()