From 6b1c9d0c12b5cabc0930010dc3e670b460a28df0 Mon Sep 17 00:00:00 2001 From: Jakob Date: Mon, 23 Mar 2026 15:46:24 +0100 Subject: [PATCH] Store original and cleaned files in batch folder - Save original .txt file in the batch folder - Save cleaned .csv file with just batch number as filename (no '-cleaned' suffix) - Both files stored alongside the HTML and PDF outputs --- src/main.rs | 27 ++++++++++++++++++--------- 1 file changed, 18 insertions(+), 9 deletions(-) diff --git a/src/main.rs b/src/main.rs index 8430df9..2690c3c 100644 --- a/src/main.rs +++ b/src/main.rs @@ -239,19 +239,28 @@ fn main() -> Result<(), Box> { println!("Konverterar {} till rensat format...", filename); - let cleaned_path = - base_output_dir.join(format!("{}.cleaned.csv", filename.trim_end_matches(".txt"))); - let batch_number = clean_csv_file(input_path, &cleaned_path)?; - - println!( - "Konverterade {} transaktioner", - fs::read_to_string(&cleaned_path)?.lines().count() - 1 - ); + let temp_cleaned_path = + base_output_dir.join(format!("{}.temp.csv", filename.trim_end_matches(".txt"))); + let batch_number = clean_csv_file(input_path, &temp_cleaned_path)?; let output_dir = base_output_dir.join(&batch_number); fs::create_dir_all(&output_dir)?; - let batch = read_csv_file(&cleaned_path)?; + fs::copy(input_path, output_dir.join(format!("{}.txt", batch_number)))?; + fs::rename( + &temp_cleaned_path, + output_dir.join(format!("{}.csv", batch_number)), + )?; + + println!( + "Konverterade {} transaktioner", + fs::read_to_string(output_dir.join(format!("{}.csv", batch_number)))? + .lines() + .count() + - 1 + ); + + let batch = read_csv_file(&output_dir.join(format!("{}.csv", batch_number)))?; println!("Laddade {} transaktioner", batch.transactions.len()); let first_date = batch.transactions.first().map(|t| t.date).unwrap();