From 49d26b4696aaa24bdf58fbce4487cbffe3f46ca0 Mon Sep 17 00:00:00 2001 From: Light1YT Date: Sat, 13 Jun 2026 15:03:08 +0500 Subject: [PATCH] =?UTF-8?q?fix(poi=5Floader):=20timedelta(days=3D730)=20?= =?UTF-8?q?=D0=B2=D0=BC=D0=B5=D1=81=D1=82=D0=BE=20replace(year=3D-2)=20?= =?UTF-8?q?=E2=86=92=20leap-year=2029=20=D1=84=D0=B5=D0=B2=D1=80=D0=B0?= =?UTF-8?q?=D0=BB=D1=8F=20safe=20(#1232)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/app/services/site_finder/poi_loader.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/backend/app/services/site_finder/poi_loader.py b/backend/app/services/site_finder/poi_loader.py index f3cd1d2d..e3b341e9 100644 --- a/backend/app/services/site_finder/poi_loader.py +++ b/backend/app/services/site_finder/poi_loader.py @@ -7,7 +7,7 @@ import asyncio import json import logging -from datetime import date, datetime +from datetime import date, datetime, timedelta import httpx from sqlalchemy import text @@ -110,7 +110,9 @@ def sync_poi_to_db() -> dict[str, int]: Returns: counters {fetched, inserted, updated, skipped_old}. """ elements = asyncio.run(fetch_overpass()) - two_years_ago = date.today().replace(year=date.today().year - 2) + # 730 дней ≈ 2 года: избегаем ValueError 29 февраля (year-2 не високосный → нет 29.02). + # Точность ±1 день несущественна для фильтра "не старше 2 лет" (требование Максима). См. #1232. + two_years_ago = date.today() - timedelta(days=730) inserted = 0 updated = 0