From 5bf426df29bb80289724e86cbd73a8eb660b9c6d Mon Sep 17 00:00:00 2001 From: Davide Scaini Date: Sun, 24 May 2026 12:44:25 +0200 Subject: [PATCH] fix: use Strava gear ID prefix (b/g) to determine gear type, not missing primary_type field --- bincio/extract/ingest.py | 4 ++-- bincio/serve/routers/strava.py | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/bincio/extract/ingest.py b/bincio/extract/ingest.py index 722de02..efb8527 100644 --- a/bincio/extract/ingest.py +++ b/bincio/extract/ingest.py @@ -161,8 +161,8 @@ def strava_sync_iter( if not name: _gear_name_cache[gear_id] = "" return "" - # Determine type from Strava: primary_type "A" = bike, "B" = shoe - gear_type = "shoes" if details.get("primary_type") == "B" else "bike" + # Strava gear IDs: "b" prefix = bike, "g" prefix = shoes + gear_type = "shoes" if gear_id.startswith("g") else "bike" # Add to registry new_item: dict = {"id": str(uuid.uuid4()), "name": name, "type": gear_type, "retired": False, "strava_id": gear_id} registry.append(new_item) diff --git a/bincio/serve/routers/strava.py b/bincio/serve/routers/strava.py index 7b343e4..39d64a7 100644 --- a/bincio/serve/routers/strava.py +++ b/bincio/serve/routers/strava.py @@ -220,7 +220,7 @@ async def serve_strava_import_gear(bincio_session: Optional[str] = Cookie(defaul gear_name = details.get("name") or "" if not gear_name: continue - gear_type = "shoes" if details.get("primary_type") == "B" else "bike" + gear_type = "shoes" if gear_id.startswith("g") else "bike" new_item: dict = {"id": str(uuid.uuid4()), "name": gear_name, "type": gear_type, "retired": False, "strava_id": gear_id} registry.append(new_item) known_strava_ids.add(gear_id)