From 0811b30cbd05ed5bf591d109ccda40236b0a9189 Mon Sep 17 00:00:00 2001 From: Deeman Date: Sun, 1 Mar 2026 19:47:01 +0100 Subject: [PATCH] =?UTF-8?q?fix(extract):=20recheck=20slot=20datetime=20par?= =?UTF-8?q?sing=20=E2=80=94=20was=20silently=20skipping=20all=20slots?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit start_time is "HH:MM:SS" (time only), not a full ISO datetime. Combining with resource's start_date to get "YYYY-MM-DDTHH:MM:SS" before parsing. The ValueError was silently caught on every slot → 0 venues found → recheck never actually ran since it was first deployed. Co-Authored-By: Claude Sonnet 4.6 --- .../src/padelnomics_extract/playtomic_availability.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/extract/padelnomics_extract/src/padelnomics_extract/playtomic_availability.py b/extract/padelnomics_extract/src/padelnomics_extract/playtomic_availability.py index 62534b0..2ad1cea 100644 --- a/extract/padelnomics_extract/src/padelnomics_extract/playtomic_availability.py +++ b/extract/padelnomics_extract/src/padelnomics_extract/playtomic_availability.py @@ -434,8 +434,10 @@ def _find_venues_with_upcoming_slots( if not start_time_str: continue try: - # Parse "2026-02-24T17:00:00" format - slot_start = datetime.fromisoformat(start_time_str).replace(tzinfo=UTC) + # start_time is "HH:MM:SS"; combine with resource's start_date + start_date = resource.get("start_date", "") + full_dt = f"{start_date}T{start_time_str}" if start_date else start_time_str + slot_start = datetime.fromisoformat(full_dt).replace(tzinfo=UTC) if window_start <= slot_start < window_end: tenant_ids.add(tid) break # found one upcoming slot, no need to check more