From 5c504f7747c36661359b7e539f8f6e9ba67db4c9 Mon Sep 17 00:00:00 2001 From: haneulai Date: Mon, 15 Jun 2026 13:53:33 +0900 Subject: [PATCH] fix: resolve out-of-range date error (31 days) in monthly stats calculation --- crawler/daily_summary.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/crawler/daily_summary.py b/crawler/daily_summary.py index 057d432..d7b92ee 100644 --- a/crawler/daily_summary.py +++ b/crawler/daily_summary.py @@ -139,10 +139,14 @@ def calculate_monthly_stats(target_month: str): for pid in plant_ids: # 2. 해당 월의 Daily 합계 조회 + import calendar + year_str, month_str = target_month.split("-") + last_day = calendar.monthrange(int(year_str), int(month_str))[1] + d_res = client.table("daily_stats").select("total_generation") \ .eq("plant_id", pid) \ .gte("date", f"{target_month}-01") \ - .lte("date", f"{target_month}-31") \ + .lte("date", f"{target_month}-{last_day:02d}") \ .execute() if not d_res.data: