From 59ab9b465213eff5cdd4155910e9441dc87983e9 Mon Sep 17 00:00:00 2001 From: phoenix Date: Tue, 28 Oct 2025 12:52:13 -0400 Subject: [PATCH] tsk-83: Updated function to generate song filename --- src/song.rs | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/src/song.rs b/src/song.rs index d81ceba..7b3819b 100644 --- a/src/song.rs +++ b/src/song.rs @@ -126,7 +126,7 @@ impl Song { } /// Generates a filename. In order to save a song to the filesystem -pub fn generate_filename(typ: types::MusicTypes, randomize: bool) -> String { +pub fn generate_filename(typ: types::MusicTypes, randomize: bool) -> Result { let file_extension = match typ { types::MusicTypes::DefaultMusicExtension => { String::from(constants::file_extensions::audio::DEFAULTMUSICEXTENSION) @@ -140,9 +140,12 @@ pub fn generate_filename(typ: types::MusicTypes, randomize: bool) -> String { types::MusicTypes::MPThreeExtension => { String::from(constants::file_extensions::audio::MPTHREEEXTENSION) } + types::MusicTypes::None => { + return Err(std::io::Error::other("Unsupported MusicTypes")) + } }; - if randomize { + let filename: String = if randomize { let mut filename: String = String::from("track-"); let some_chars: String = String::from("abcdefghij0123456789"); let some_chars_length = some_chars.len(); @@ -156,10 +159,12 @@ pub fn generate_filename(typ: types::MusicTypes, randomize: bool) -> String { filename.push(c); } } - filename + &file_extension + format!("{filename}{file_extension}") } else { - "track-output".to_string() + &file_extension - } + format!("track-output{file_extension}") + }; + + Ok(filename) } /// I/O operations for songs