From f1ba5a05fbe9fcbd3d7da4c84286a82ed90c6c50 Mon Sep 17 00:00:00 2001 From: Jakob Date: Mon, 23 Mar 2026 11:24:34 +0100 Subject: [PATCH] Accept output path argument and create batch subdirectory --- src/main.rs | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/main.rs b/src/main.rs index 98da45f..12533da 100644 --- a/src/main.rs +++ b/src/main.rs @@ -158,24 +158,19 @@ struct CustomerTemplate { fn main() -> Result<(), Box> { let args: Vec = env::args().collect(); - if args.len() != 2 { - eprintln!("Användning: {} ", args[0]); + if args.len() != 3 { + eprintln!("Användning: {} ", args[0]); std::process::exit(1); } let input_path = Path::new(&args[1]); + let base_output_dir = Path::new(&args[2]); if !input_path.exists() { eprintln!("Fel: Filen hittades inte: {:?}", input_path); std::process::exit(1); } - let output_dir = input_path.parent().unwrap_or(Path::new(".")); - - if !output_dir.exists() { - fs::create_dir_all(output_dir)?; - } - let batch = read_csv_file(input_path)?; println!( "Laddade {} transaktioner från {}", @@ -183,6 +178,11 @@ fn main() -> Result<(), Box> { batch.filename ); + let batch_number = batch.filename.trim_end_matches(".csv"); + let output_dir = base_output_dir.join(batch_number); + + fs::create_dir_all(&output_dir)?; + let first_date = batch.transactions.first().map(|t| t.date).unwrap(); let last_date = batch.transactions.last().map(|t| t.date).unwrap(); let period = format!(