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",