trying to get sub label showed properly

This commit is contained in:
Davide Scaini
2026-03-30 20:09:01 +02:00
parent c58bc8f7d5
commit 877472e620
11 changed files with 157 additions and 24 deletions
+9 -2
View File
@@ -26,7 +26,7 @@ from rich.console import Console
from rich.progress import BarColumn, MofNCompleteColumn, Progress, TextColumn, TimeElapsedColumn
from bincio.extract.models import DataPoint, ParsedActivity
from bincio.extract.sport import normalise_sport
from bincio.extract.sport import normalise_sport, normalise_sub_sport
STRAVA_AUTH_URL = "https://www.strava.com/oauth/authorize"
STRAVA_TOKEN_URL = "https://www.strava.com/oauth/token"
@@ -214,7 +214,9 @@ def _strava_to_parsed(act: dict, streams: dict[str, list]) -> ParsedActivity:
"""Build a ParsedActivity from a Strava activity dict + its streams."""
started_at = datetime.fromisoformat(act["start_date"].replace("Z", "+00:00"))
sport = normalise_sport(act.get("sport_type") or act.get("type") or "")
raw_sport = act.get("sport_type") or act.get("type") or ""
sport = normalise_sport(raw_sport)
sub_sport = normalise_sub_sport(raw_sport)
times = streams.get("time", []) # seconds since start
latlngs = streams.get("latlng", []) # [[lat, lon], ...]
@@ -244,6 +246,7 @@ def _strava_to_parsed(act: dict, streams: dict[str, list]) -> ParsedActivity:
return ParsedActivity(
points = points,
sport = sport,
sub_sport = sub_sport,
started_at = started_at,
source_file = f"strava_{strava_id}",
source_hash = source_hash,
@@ -287,6 +290,7 @@ def sync(
output_dir: Path,
since: datetime | None,
console: Console,
limit: int | None = None,
) -> None:
"""Fetch new Strava activities and write BAS JSON files.
@@ -323,6 +327,9 @@ def sync(
f"Found [bold]{len(new_acts)}[/bold] new activities "
f"([bold]{len(all_acts) - len(new_acts)}[/bold] already imported)."
)
if limit is not None and len(new_acts) > limit:
new_acts = new_acts[:limit]
console.print(f"[yellow]Dev mode:[/yellow] capped to {limit} activities.")
if not new_acts:
console.print("[green]All up to date.[/green]")
return