From eafbb7f24accb3fd32726c65c6d2b2d275afd5f1 Mon Sep 17 00:00:00 2001 From: phoenix Date: Fri, 27 Jun 2025 21:02:25 -0400 Subject: [PATCH] Code changes --- src/main.rs | 75 +++++++++++++++++++++++------------------------------ 1 file changed, 33 insertions(+), 42 deletions(-) diff --git a/src/main.rs b/src/main.rs index d36bebc..8852fd9 100644 --- a/src/main.rs +++ b/src/main.rs @@ -21,8 +21,14 @@ async fn main() -> Result<(), Box> { let song_queue_id = song_queue_item.data[0].id; // TODO: Do something with the result later - let _ = prep_song(&app_base_url, &song_queue_id).await; - let _ = some_work(&app_base_url, &song_queue_id).await; + // let _ = prep_song(&app_base_url, &song_queue_id).await; + match some_work(&app_base_url, &song_queue_id).await { + Ok(_) => { + } + Err(err) => { + eprintln!("Error: {:?}", err); + } + } } else { println!("Queue is empty"); } @@ -63,10 +69,17 @@ async fn is_queue_empty( async fn some_work(app_base_url: &String, song_queue_id: &uuid::Uuid) -> Result<(), std::io::Error> { match prep_song(app_base_url, song_queue_id).await { Ok((song_queue_path, coverart_queue_path, metadata)) => { - match apply_metadata(song_queue_path.clone(), coverart_queue_path, metadata).await { - Ok(song_path) => { + match apply_metadata(&song_queue_path, &coverart_queue_path, &metadata).await { + Ok(_applied) => { // let s_path = util::path_buf_to_string(&song_queue_path); - Ok(()) + match update_queued_song::update_queued_song(app_base_url, &song_queue_path, song_queue_id).await { + Ok(_response) => { + Ok(()) + } + Err(err) => { + Err(std::io::Error::new(std::io::ErrorKind::Other, err.to_string())) + } + } // Ok((s_path)) } Err(err) => { @@ -81,19 +94,6 @@ async fn some_work(app_base_url: &String, song_queue_id: &uuid::Uuid) -> Result< } } -/* - // let s_err: reqwest::Error = err.into(); - // let error = reqwest::Error::new( - // reqwest::ErrorKind::Request, // Error kind - // err.to_string() // Error message -// ); - // Err(error) - Err(err) - } - } -* -*/ - async fn prep_song(api_url: &String, song_queue_id: &uuid::Uuid) -> Result<(String, String, api::get_metadata_queue::response::Metadata), reqwest::Error> { match api::fetch_song_queue_data::get_data(api_url, song_queue_id).await { Ok(response) => { @@ -241,18 +241,11 @@ pub async fn save_file_to_fs( } pub async fn apply_metadata( - song_queue_path: std::path::PathBuf, - coverart_queue_path: std::path::PathBuf, + song_queue_path: &String, + coverart_queue_path: &String, metadata: &api::get_metadata_queue::response::Metadata, ) -> Result { // Apply metadata fields - let s_path = util::path_buf_to_string(&song_queue_path); - - if s_path.is_empty() { - println!("Song queue path is empty"); - return Ok(false); - } - let types = icarus_meta::types::all_metadata_types(); for t in types { @@ -260,7 +253,7 @@ pub async fn apply_metadata( icarus_meta::types::Type::Album => { let meta_type = icarus_meta::types::MetadataType::from_string(metadata.album.clone()); - match icarus_meta::meta::metadata::set_meta_value(t, &s_path, meta_type) { + match icarus_meta::meta::metadata::set_meta_value(t, song_queue_path, meta_type) { Ok(_) => {} Err(_err) => { return Err(_err); @@ -270,7 +263,7 @@ pub async fn apply_metadata( icarus_meta::types::Type::AlbumArtist => { let meta_type = icarus_meta::types::MetadataType::from_string(metadata.album_artist.clone()); - match icarus_meta::meta::metadata::set_meta_value(t, &s_path, meta_type) { + match icarus_meta::meta::metadata::set_meta_value(t, song_queue_path, meta_type) { Ok(_) => {} Err(_err) => { return Err(_err); @@ -280,7 +273,7 @@ pub async fn apply_metadata( icarus_meta::types::Type::Artist => { let meta_type = icarus_meta::types::MetadataType::from_string(metadata.artist.clone()); - match icarus_meta::meta::metadata::set_meta_value(t, &s_path, meta_type) { + match icarus_meta::meta::metadata::set_meta_value(t, song_queue_path, meta_type) { Ok(_) => {} Err(_err) => { return Err(_err); @@ -291,7 +284,7 @@ pub async fn apply_metadata( // TODO: Do something about this discrepancy let meta_type = icarus_meta::types::MetadataType::from_string(metadata.year.to_string()); - match icarus_meta::meta::metadata::set_meta_value(t, &s_path, meta_type) { + match icarus_meta::meta::metadata::set_meta_value(t, song_queue_path, meta_type) { Ok(_) => {} Err(_err) => { return Err(_err); @@ -300,7 +293,7 @@ pub async fn apply_metadata( } icarus_meta::types::Type::Disc => { let meta_type = icarus_meta::types::MetadataType::from_int(metadata.disc); - match icarus_meta::meta::metadata::set_meta_value(t, &s_path, meta_type) { + match icarus_meta::meta::metadata::set_meta_value(t, song_queue_path, meta_type) { Ok(_) => {} Err(_err) => { return Err(_err); @@ -310,7 +303,7 @@ pub async fn apply_metadata( icarus_meta::types::Type::Genre => { let meta_type = icarus_meta::types::MetadataType::from_string(metadata.genre.clone()); - match icarus_meta::meta::metadata::set_meta_value(t, &s_path, meta_type) { + match icarus_meta::meta::metadata::set_meta_value(t, song_queue_path, meta_type) { Ok(_) => {} Err(_err) => { return Err(_err); @@ -320,7 +313,7 @@ pub async fn apply_metadata( icarus_meta::types::Type::Title => { let meta_type = icarus_meta::types::MetadataType::from_string(metadata.title.clone()); - match icarus_meta::meta::metadata::set_meta_value(t, &s_path, meta_type) { + match icarus_meta::meta::metadata::set_meta_value(t, song_queue_path, meta_type) { Ok(_) => {} Err(_err) => { return Err(_err); @@ -329,7 +322,7 @@ pub async fn apply_metadata( } icarus_meta::types::Type::Track => { let meta_type = icarus_meta::types::MetadataType::from_int(metadata.track); - match icarus_meta::meta::metadata::set_meta_value(t, &s_path, meta_type) { + match icarus_meta::meta::metadata::set_meta_value(t, song_queue_path, meta_type) { Ok(_) => {} Err(_err) => { return Err(_err); @@ -338,7 +331,7 @@ pub async fn apply_metadata( } icarus_meta::types::Type::TrackCount => { let meta_type = icarus_meta::types::MetadataType::from_int(metadata.track_count); - match icarus_meta::meta::metadata::set_meta_value(t, &s_path, meta_type) { + match icarus_meta::meta::metadata::set_meta_value(t, song_queue_path, meta_type) { Ok(_) => {} Err(_err) => { return Err(_err); @@ -347,7 +340,7 @@ pub async fn apply_metadata( } icarus_meta::types::Type::DiscCount => { let meta_type = icarus_meta::types::MetadataType::from_int(metadata.disc_count); - match icarus_meta::meta::metadata::set_meta_value(t, &s_path, meta_type) { + match icarus_meta::meta::metadata::set_meta_value(t, song_queue_path, meta_type) { Ok(_) => {} Err(_err) => { return Err(_err); @@ -358,13 +351,11 @@ pub async fn apply_metadata( } // Apply coverart - let c_path: String = util::path_buf_to_string(&coverart_queue_path); - - match icarus_meta::meta::coverart::contains_coverart(&s_path) { + match icarus_meta::meta::coverart::contains_coverart(song_queue_path) { Ok((exists, size)) => { if exists { println!("Coverart exists: {:?} size", size); - match icarus_meta::meta::coverart::remove_coverart(&s_path) { + match icarus_meta::meta::coverart::remove_coverart(song_queue_path) { Ok(_data) => {} Err(err) => { return Err(err); @@ -372,7 +363,7 @@ pub async fn apply_metadata( } } - match icarus_meta::meta::coverart::set_coverart(&s_path, &c_path) { + match icarus_meta::meta::coverart::set_coverart(song_queue_path, coverart_queue_path) { Ok(_data) => { if _data.is_empty() { println!("There was an issue");