Complete the forecast fallback chain: Open-Meteo → MET Norway → stale cache. When both live sources are unavailable, serve the last cached recent/forecast bundle even if it is past its 1-hour TTL — an hours-old bundle (which still carries the recent observed days MET Norway lacks) beats a hard 503, mirroring the archive path's stale-serve in _load_history. The stale bundle is returned WITHOUT rewriting it, so its mtime stays old and the next request retries the live sources first rather than treating the stale copy as fresh. Only when there is no cache at all does the typed WeatherUnavailable surface. |
||
|---|---|---|
| .. | ||
| conftest.py | ||
| test_api.py | ||
| test_api_accounts.py | ||
| test_climate.py | ||
| test_content.py | ||
| test_grading.py | ||
| test_grid.py | ||
| test_notify.py | ||
| test_places.py | ||
| test_store.py | ||
| test_views.py | ||