segments detect: add --fresh flag to clear efforts before re-detecting

This commit is contained in:
Davide Scaini
2026-05-14 17:11:11 +02:00
parent 862226305a
commit c36b95e041
+7 -1
View File
@@ -24,7 +24,8 @@ def segments_group() -> None:
@click.option("--handle", required=True, help="User handle to run detection for")
@click.option("--activity-id", default=None, help="Limit to a single activity ID (optional)")
@click.option("--segment-id", default=None, help="Limit to a single segment ID (optional)")
def detect_cmd(data_dir: str, handle: str, activity_id: str | None, segment_id: str | None) -> None:
@click.option("--fresh", is_flag=True, default=False, help="Clear existing efforts before detecting")
def detect_cmd(data_dir: str, handle: str, activity_id: str | None, segment_id: str | None, fresh: bool) -> None:
"""Retroactively detect segment efforts for stored activities.
Walks every activity with GPS data, runs the detection algorithm against
@@ -55,6 +56,11 @@ def detect_cmd(data_dir: str, handle: str, activity_id: str | None, segment_id:
click.echo("No segments defined.", err=True)
sys.exit(0)
if fresh:
for seg in segments:
_store.save_efforts(dd, handle, seg.id, [])
click.echo(f"Cleared existing efforts for {len(segments)} segment(s).")
# Choose which activities to process.
if activity_id:
detail_files = [acts_dir / f"{activity_id}.json"]