Updated charts for glucose data and profile chart
CI/CD / test (push) Failing after 6s
CI/CD / sonarqube (push) Skipped
CI/CD / build-and-scan (push) Skipped
CI/CD / deploy (push) Skipped

This commit is contained in:
2026-09-06 14:43:19 +02:00
parent bd66d3dacd
commit 95b3aff310
6 changed files with 262 additions and 120 deletions
+26 -1
View File
@@ -14,7 +14,13 @@ import pandas as pd
import plotly.graph_objects as go
import streamlit as st
from nightscout_client import fetch_entries_range, fetch_profile, fetch_treatments_range
from nightscout_client import (
fetch_entries_for_day,
fetch_entries_range,
fetch_profile,
fetch_treatments_for_day,
fetch_treatments_range,
)
from profile_data import parse_profile
from reporting import (
HIGH,
@@ -148,6 +154,25 @@ def load_range_data(start: date, end: date): # pragma: no cover
return glucose, treatments
@st.cache_data(ttl=300, show_spinner="Data ophalen van Nightscout...")
def load_day_data(day: date): # pragma: no cover
"""Gecachete Nightscout-fetch voor precies één kalenderdag (Dagoverzicht-navigatie).
Kortere TTL dan load_range_data (5 min i.p.v. 1 uur): in tegenstelling tot
een afgeronde periode kan de geselecteerde dag "vandaag" zijn, waar
nieuwe metingen blijven binnenkomen. fetch_treatments_for_day() haalt
zelf een lookback-marge vóór middernacht op zodat effective_basal_series()
de vroege ochtenduren correct kan berekenen.
Dunne st.cache_data-wrapper rond al-geteste fetch_entries_for_day()/
fetch_treatments_for_day() — buiten scope van de unit-testdekking net als
pages/*.py, zie pyproject.toml se coverage-omit-lijst.
"""
glucose = fetch_entries_for_day(day)
treatments = fetch_treatments_for_day(day)
return glucose, treatments
@st.cache_data(ttl=21600, show_spinner="Profiel ophalen van Nightscout...")
def load_profile() -> dict: # pragma: no cover
"""Gecachete profiel-fetch. Langere TTL dan load_range_data (6 uur i.p.v.