chequeardia / app.py
tebicap's picture
doble salto de línea en notas
8a2b7a4
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()