Compare commits
2 Commits
2bdbf50111
...
b823c85b60
| Author | SHA1 | Date | |
|---|---|---|---|
| b823c85b60 | |||
| 91f4a7e4d2 |
+12
-3
@@ -85,8 +85,11 @@ def _data_temp_hourly(start: datetime, end: datetime):
|
|||||||
|
|
||||||
|
|
||||||
def _data_rain_daily(start: datetime, end: datetime):
|
def _data_rain_daily(start: datetime, end: datetime):
|
||||||
|
# +1 Tag extra damit der Abschlusswert des letzten Tages (kum. Zähler) enthalten ist
|
||||||
data = fetch("/weather/range", {
|
data = fetch("/weather/range", {
|
||||||
"start": start.isoformat(), "end": end.isoformat(), "limit": 50000,
|
"start": start.isoformat(),
|
||||||
|
"end": (end + timedelta(days=1)).isoformat(),
|
||||||
|
"limit": 50000,
|
||||||
})
|
})
|
||||||
by_day: dict[str, list[float]] = defaultdict(list)
|
by_day: dict[str, list[float]] = defaultdict(list)
|
||||||
for d in data:
|
for d in data:
|
||||||
@@ -95,11 +98,17 @@ def _data_rain_daily(start: datetime, end: datetime):
|
|||||||
|
|
||||||
dates, rain = [], []
|
dates, rain = [], []
|
||||||
for day_key in sorted(by_day):
|
for day_key in sorted(by_day):
|
||||||
vals = by_day[day_key]
|
day_dt = datetime.fromisoformat(day_key).replace(tzinfo=timezone.utc)
|
||||||
|
if day_dt >= end:
|
||||||
|
break
|
||||||
|
vals = list(by_day[day_key])
|
||||||
|
next_key = (day_dt + timedelta(days=1)).strftime("%Y-%m-%d")
|
||||||
|
if next_key in by_day:
|
||||||
|
vals.append(by_day[next_key][0])
|
||||||
daily = max(vals) - min(vals)
|
daily = max(vals) - min(vals)
|
||||||
if daily < 0:
|
if daily < 0:
|
||||||
daily = max(vals)
|
daily = max(vals)
|
||||||
dates.append(datetime.fromisoformat(day_key).replace(tzinfo=timezone.utc))
|
dates.append(day_dt)
|
||||||
rain.append(round(daily, 1))
|
rain.append(round(daily, 1))
|
||||||
return dates, rain
|
return dates, rain
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user