Spaces:
Sleeping
Sleeping
File size: 2,234 Bytes
15b89f6 e8dca06 f225fc0 fe7e57a f225fc0 e8dca06 f225fc0 fe7e57a 810c3cb ec946a9 810c3cb e8dca06 ec946a9 d6837a7 810c3cb ec946a9 810c3cb b42089e 0c4dd88 ec946a9 0c4dd88 2f00b01 ec946a9 2f00b01 b42089e d6837a7 ec946a9 d6837a7 0c4dd88 810c3cb |
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 |
import gradio as gr
from datetime import date, timedelta
# Initialize counters and logs
total_exercises_completed = 0
days_completed = 0
last_reset = date.today() - timedelta(days=1)
exercise_log = {f"Exercise {i+1}": 0 for i in range(8)}
def reset_tracker():
global total_exercises_completed, days_completed, last_reset, exercise_log
if date.today() > last_reset:
all_done_today = all(count >= 6 for count in exercise_log.values())
if all_done_today:
days_completed += 1
exercise_log = {f"Exercise {i+1}": 0 for i in range(8)}
last_reset = date.today()
total_exercises_completed = sum(exercise_log.values())
exercise_log_str = "\n".join(f"{name}: {count}" for name, count in exercise_log.items())
return exercise_log_str, total_exercises_completed, days_completed
def update_exercise(button_name):
global exercise_log, total_exercises_completed, last_reset
if date.today() > last_reset:
reset_tracker()
if exercise_log[button_name] < 6:
exercise_log[button_name] += 1
total_exercises_completed += 1 # Increment on each exercise completion.
exercise_log_str = "\n".join(f"{name}: {count}" for name, count in exercise_log.items())
return exercise_log_str, total_exercises_completed, days_completed
with gr.Blocks() as app:
gr.Markdown("## Physical Therapy Exercise Tracker")
exercise_log_text = gr.Textbox(label="Exercise Log", lines=10, value="Please press an exercise button to start tracking")
total_exercises_completed_num = gr.Number(label="Total Exercises Completed", value=total_exercises_completed)
days_completed_num = gr.Number(label="Days Completed", value=days_completed)
with gr.Row():
for i in range(8):
btn = gr.Button(f"Exercise {i+1}")
btn.click(
fn=update_exercise,
inputs=[btn],
outputs=[exercise_log_text, total_exercises_completed_num, days_completed_num]
)
reset_button = gr.Button("Reset Daily Tracker")
reset_button.click(
fn=reset_tracker,
inputs=[],
outputs=[exercise_log_text, total_exercises_completed_num, days_completed_num]
)
app.launch()
|