From 0d061832919785871b8e79457df45fc7bb213764 Mon Sep 17 00:00:00 2001 From: KeksNino Date: Fri, 4 Sep 2026 21:07:02 +0200 Subject: [PATCH] fix: panic if track number is none --- .gitignore | 1 + flake.nix | 2 -- src/move_files.rs | 18 +++++++++++------- 3 files changed, 12 insertions(+), 9 deletions(-) diff --git a/.gitignore b/.gitignore index ba50f17..4fe2848 100755 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ /target /test +/.direnv *.flac *.mp3 diff --git a/flake.nix b/flake.nix index d3f4434..cdc377a 100755 --- a/flake.nix +++ b/flake.nix @@ -44,7 +44,6 @@ buildInputs = [ rust cargo-nextest - fish ]; env.RUST_SRC_PATH = "${pkgs.rust.packages.stable.rustPlatform.rustLibSrc}"; @@ -52,7 +51,6 @@ shellHook = '' echo Entered Rust dev shell for project music-sort - exec fish ''; }; }; diff --git a/src/move_files.rs b/src/move_files.rs index 88ad34e..67bd945 100644 --- a/src/move_files.rs +++ b/src/move_files.rs @@ -36,12 +36,16 @@ pub fn move_files( create_dir_all(&dir_to_create)?; let target = target_dir.join(artist_dir).join(album_dir.as_ref()); - let file_name = PathBuf::from(format!( - "0{}. {} - {}.flac", - track_number.unwrap(), - artist.unwrap(), - title.unwrap(), - )); + let file_name = if let Some(track_number) = track_number { + PathBuf::from(format!( + "{:02}. {} - {}.flac", + track_number, + artist.unwrap(), + title.unwrap(), + )) + } else { + PathBuf::from(format!("01. {} - {}.flac", artist.unwrap(), title.unwrap(),)) + }; if should_copy { copy(&file_path, target.join(file_name))?; @@ -72,6 +76,6 @@ pub fn move_files( remove_dir(file_path.parent().unwrap())?; } - println!("Imported file: {:?}", file_path.file_name().unwrap()); + //println!("Imported file: {:?}", file_path.file_name().unwrap()); Ok(()) }