diff --git a/src/main.rs b/src/main.rs index 62c338e..f4d4497 100644 --- a/src/main.rs +++ b/src/main.rs @@ -324,7 +324,7 @@ async fn prep_song( match api::get_coverart_queue::get_data(app, &coverart_queue_id).await { Ok(response) => match api::parsing::parse_response_into_bytes(response).await { Ok(coverart_queue_bytes) => { - let (directory, filename) = generate_coverart_queue_dir_and_filename(&coverart_queue.file_type).await; + let (directory, filename) = util::generate_coverart_queue_dir_and_filename(&coverart_queue.file_type).await; let coverart = icarus_models::coverart::CoverArt { directory, filename, @@ -381,39 +381,3 @@ async fn prep_song( Err(err) => Err(err), } } - -// TODO: Consider having something like this in icarus_models -pub async fn generate_coverart_queue_dir_and_filename(file_type: &str) -> (String, String) { - use rand::Rng; - - let mut filename: String = String::new(); - let filename_len = 10; - - let some_chars: String = String::from("abcdefghij0123456789"); - let mut rng = rand::rng(); - - for _ in 0..filename_len { - let random_number: i32 = rng.random_range(0..=19); - let index = random_number as usize; - let rando_char = some_chars.chars().nth(index); - - if let Some(c) = rando_char { - filename.push(c); - } - } - - filename += if file_type == icarus_meta::detection::coverart::constants::JPEG_TYPE - || file_type == icarus_meta::detection::coverart::constants::JPG_TYPE - { - icarus_models::constants::file_extensions::image::JPEGEXTENSION - } else if file_type == icarus_meta::detection::coverart::constants::PNG_TYPE { - icarus_models::constants::file_extensions::image::PNGEXTENSION - } else { - "" - }; - - // TODO: Consider separating song and coverart when saving to the filesystem - let directory = icarus_envy::environment::get_root_directory().await.value; - - (directory, filename) -} diff --git a/src/util.rs b/src/util.rs index 3a873bc..57a2c60 100644 --- a/src/util.rs +++ b/src/util.rs @@ -4,3 +4,39 @@ pub fn path_buf_to_string(path: &std::path::Path) -> String { None => String::new(), } } + +// TODO: Consider having something like this in icarus_models +pub async fn generate_coverart_queue_dir_and_filename(file_type: &str) -> (String, String) { + use rand::Rng; + + let mut filename: String = String::new(); + let filename_len = 10; + + let some_chars: String = String::from("abcdefghij0123456789"); + let mut rng = rand::rng(); + + for _ in 0..filename_len { + let random_number: i32 = rng.random_range(0..=19); + let index = random_number as usize; + let rando_char = some_chars.chars().nth(index); + + if let Some(c) = rando_char { + filename.push(c); + } + } + + filename += if file_type == icarus_meta::detection::coverart::constants::JPEG_TYPE + || file_type == icarus_meta::detection::coverart::constants::JPG_TYPE + { + icarus_models::constants::file_extensions::image::JPEGEXTENSION + } else if file_type == icarus_meta::detection::coverart::constants::PNG_TYPE { + icarus_models::constants::file_extensions::image::PNGEXTENSION + } else { + "" + }; + + // TODO: Consider separating song and coverart when saving to the filesystem + let directory = icarus_envy::environment::get_root_directory().await.value; + + (directory, filename) +}