//! Best and very_best command implementations. //! //! Generates best.csv (all cars best on at least one track) and //! very_best.csv (cars best on >= min_count tracks). use top_drives::AppError; use crate::commands::{load_my_cars_or_warn, run_analysis}; use crate::output::{write_best_csv, write_very_best_csv}; /// Executes the best command: generates best.csv and very_best.csv. pub async fn run_best( my_cars_path: &str, cars_db_path: &str, times_dir: &str, output_dir: &str, min_count: usize, ) -> Result<(), AppError> { let my_data = load_my_cars_or_warn(my_cars_path)?; let (_ctx, counts) = run_analysis(&my_data, cars_db_path, times_dir).await?; write_best_csv(output_dir, &counts)?; write_very_best_csv(output_dir, &counts, min_count)?; println!("Written: best.csv, very_best.csv"); Ok(()) }