- GET /api/weather?lat=&lon= (Open-Meteo, 30-min TTL-Cache) - Zecken-Warnung regelbasiert: März–Okt + Temp > 7°C - Karte: Wetterchip oben rechts nach GPS-Fix - stats.py + achievements.py: is_public-Filter entfernt — private Routen zählen jetzt für eigene km/Achievements - SW by-v320, APP_VER 308
20 lines
537 B
Python
20 lines
537 B
Python
"""
|
|
BAN YARO — Wetter-API
|
|
GET /api/weather?lat=&lon= → aktuelles Wetter + Zecken-Warnung für Nutzerstandort
|
|
"""
|
|
|
|
from fastapi import APIRouter, Query, HTTPException
|
|
import weather as weather_module
|
|
|
|
router = APIRouter()
|
|
|
|
|
|
@router.get('')
|
|
async def get_weather(
|
|
lat: float = Query(..., ge=-90, le=90),
|
|
lon: float = Query(..., ge=-180, le=180),
|
|
):
|
|
try:
|
|
return await weather_module.get_weather_for_location(lat, lon)
|
|
except Exception as exc:
|
|
raise HTTPException(503, f'Wetter nicht verfügbar: {exc}')
|