From 28033d138c61f6474c9a03381a9264898a143f94 Mon Sep 17 00:00:00 2001 From: rgcosta Date: Sun, 12 Apr 2026 15:02:25 +0000 Subject: [PATCH] Update scraper/scraper.py MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Date parser is assigning wrong year. Fix in scrapper.py — smarter year assignment --- scraper/scraper.py | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/scraper/scraper.py b/scraper/scraper.py index 8ef07cd..fe4c001 100644 --- a/scraper/scraper.py +++ b/scraper/scraper.py @@ -133,17 +133,24 @@ def scrape() -> list[dict]: else: time_str = mid_text if mid_text not in ("", "TBD") else "TBD" - # ── Parse date ───────────────────────────────── + # ── Parse date ───────────────────────────────────────────────────── dt = None - year = datetime.now(PT_TZ).year + now = datetime.now(PT_TZ) + year = now.year + for fmt in ("%a, %b %d %Y", "%A, %B %d %Y"): try: dt = datetime.strptime(f"{date_text} {year}", fmt) dt = dt.replace(tzinfo=PT_TZ) - now = datetime.now(PT_TZ) - # roll year forward for future dates that wrap - if not is_past and dt.month < now.month - 2: - dt = dt.replace(year=year + 1) + + if is_past: + # Past matches: if date is in the future, use previous year + if dt > now: + dt = dt.replace(year=year - 1) + else: + # Future matches: if date is in the past, use next year + if dt < now: + dt = dt.replace(year=year + 1) break except ValueError: continue