fix activities' types
This commit is contained in:
@@ -16,7 +16,7 @@ class FitParser:
|
||||
|
||||
points: list[DataPoint] = []
|
||||
laps: list[LapData] = []
|
||||
sport: str = "cycling"
|
||||
sport: str = "other"
|
||||
sub_sport: str | None = None
|
||||
device: str | None = None
|
||||
|
||||
@@ -26,9 +26,19 @@ class FitParser:
|
||||
continue
|
||||
|
||||
if frame.name == "sport":
|
||||
sport = normalise_sport(_get(frame, "sport", "cycling"))
|
||||
sport = normalise_sport(_get(frame, "sport"))
|
||||
sub_sport = _normalise_sub_sport(_get(frame, "sub_sport"))
|
||||
|
||||
elif frame.name == "session":
|
||||
# Karoo and Strava-generated FIT files store sport here
|
||||
# instead of (or in addition to) a separate 'sport' message.
|
||||
# Only use session sport if no 'sport' frame was seen yet.
|
||||
if sport == "other":
|
||||
raw_sport = _get(frame, "sport")
|
||||
if raw_sport is not None:
|
||||
sport = normalise_sport(raw_sport)
|
||||
sub_sport = _normalise_sub_sport(_get(frame, "sub_sport"))
|
||||
|
||||
elif frame.name == "device_info":
|
||||
mfr = _get(frame, "manufacturer")
|
||||
prod = _get(frame, "product_name") or _get(frame, "garmin_product")
|
||||
|
||||
Reference in New Issue
Block a user