From 77c30150b0bfff3b3ed3fb48fada0dd8c9fddfa9 Mon Sep 17 00:00:00 2001 From: Davide Scaini Date: Mon, 30 Mar 2026 22:55:53 +0200 Subject: [PATCH] fix ride types subclasses (?) to be tested --- bincio/extract/parsers/fit.py | 22 ++++++++++++---------- bincio/extract/sport.py | 1 + 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/bincio/extract/parsers/fit.py b/bincio/extract/parsers/fit.py index 130a400..6fec5db 100644 --- a/bincio/extract/parsers/fit.py +++ b/bincio/extract/parsers/fit.py @@ -132,16 +132,18 @@ def _normalise_sub_sport(value: Any) -> str | None: return None s = str(value).lower().replace(" ", "_") mapping = { - "road": "road", - "mountain": "mountain", - "gravel_cycling": "gravel", - "cyclocross": "gravel", - "indoor_cycling": "indoor", - "trail": "trail", - "track": "track", + "generic": None, # FIT default — unspecified + "virtual_activity": "indoor", + "road": "road", + "mountain": "mountain", + "gravel_cycling": "gravel", + "cyclocross": "gravel", + "indoor_cycling": "indoor", + "trail": "trail", + "track": "track", "cross_country_skiing": "nordic", - "nordic_skiing": "nordic", - "skate_skiing": "nordic", - "backcountry_skiing": "nordic", + "nordic_skiing": "nordic", + "skate_skiing": "nordic", + "backcountry_skiing":"nordic", } return mapping.get(s, s) or None diff --git a/bincio/extract/sport.py b/bincio/extract/sport.py index e7b9a2b..47cac3e 100644 --- a/bincio/extract/sport.py +++ b/bincio/extract/sport.py @@ -63,6 +63,7 @@ _MAPPING: dict[str, str] = { _SUB_SPORT_MAPPING: dict[str, str] = { # cycling + "ride": "road", "road_biking": "road", "road_cycling": "road", "mountain_biking": "mountain",