From c2e2e1b03ae4ef80c6a6d1208eec444f065d34dc Mon Sep 17 00:00:00 2001 From: phoenix Date: Wed, 22 Oct 2025 12:52:59 -0400 Subject: [PATCH 1/7] tsk-62: Making changes to queued song and coverart --- src/main.rs | 53 ++++++++++++++++++++++++++++++--------------- src/metadata/mod.rs | 30 ++++++++++++------------- src/queued_item.rs | 13 +++++++++++ 3 files changed, 63 insertions(+), 33 deletions(-) create mode 100644 src/queued_item.rs diff --git a/src/main.rs b/src/main.rs index 92c7ee8..e7597c4 100644 --- a/src/main.rs +++ b/src/main.rs @@ -2,6 +2,7 @@ pub mod api; pub mod auth; pub mod config; pub mod metadata; +pub mod queued_item; pub mod util; pub const SECONDS_TO_SLEEP: u64 = 5; @@ -177,22 +178,23 @@ async fn some_work( user_id: &uuid::Uuid, ) -> Result< ( - icarus_models::song::Song, - icarus_models::coverart::CoverArt, - (uuid::Uuid, String), - (uuid::Uuid, String), + queued_item::QueuedSong, + queued_item::QueuedCoverArt ), std::io::Error, > { match prep_song(app, song_queue_id).await { Ok(( - (song_directory, song_filename), - (coverart_directory, coverart_filename), + // (song_directory, song_filename), + queued_song, + queued_coverart, + // (coverart_directory, coverart_filename), metadata, - coverart_queue_id, + // coverart_queue_id, )) => { println!("Prepping song"); + /* let mut song_queue_path: String = String::new(); let p = std::path::Path::new(&song_directory); let sp = p.join(&song_filename); @@ -210,8 +212,7 @@ async fn some_work( std::process::exit(-1); } }; - - println!("CoverArt path: {coverart_queue_path:?}"); + */ match metadata::apply_metadata(&song_queue_path, &coverart_queue_path, &metadata).await { @@ -295,10 +296,12 @@ async fn prep_song( song_queue_id: &uuid::Uuid, ) -> Result< ( - (String, String), - (String, String), + // (String, String), + queued_item::QueuedSong, + queued_item::QueuedCoverArt, + // (String, String), api::get_metadata_queue::response::Metadata, - uuid::Uuid, + // uuid::Uuid, ), reqwest::Error, > { @@ -317,14 +320,22 @@ async fn prep_song( ..Default::default() }; let songpath = song.song_path().unwrap_or_default(); + /* let song_queue_path = match song.save_to_filesystem() { Ok(_) => std::path::Path::new(&songpath), Err(_err) => std::path::Path::new(""), }; + */ - println!("Saved at: {song_queue_path:?}"); + let queued_song = queued_item::QueuedSong { + id: *song_queue_id, + song, + path: songpath + }; - match api::get_metadata_queue::get(app, song_queue_id).await { + println!("Saved at: {:?}", queued_song.path); + + match api::get_metadata_queue::get(app, &queued_song.id).await { Ok(response) => { match response .json::() @@ -339,7 +350,7 @@ async fn prep_song( println!("Created at: {created_at:?}"); println!("Getting coverart queue"); - match api::get_coverart_queue::get(app, song_queue_id).await { + match api::get_coverart_queue::get(app, &queued_song.id).await { Ok(response) => { match response.json::().await { Ok(response) => { @@ -367,10 +378,16 @@ async fn prep_song( std::process::exit(-1); } }; - let coverart_queue_path = std::path::Path::new(&coverart_queue_fs_path); - println!("Saved coverart queue file at: {coverart_queue_path:?}"); - Ok(((song.directory, song.filename), (coverart.directory, coverart.filename), metadata.clone(), coverart_queue_id)) + let queued_coverart = queued_item::QueuedCoverArt { + id: coverart_queue_id, + coverart: coverart, + path: coverart_queue_fs_path + }; + // let coverart_queue_path = std::path::Path::new(&coverart_queue_fs_path); + println!("Saved coverart queue file at: {:?}", queued_coverart.path); + + Ok((queued_song, queued_coverart, metadata.clone())) } Err(err) => { Err(err) diff --git a/src/metadata/mod.rs b/src/metadata/mod.rs index 150868c..b880372 100644 --- a/src/metadata/mod.rs +++ b/src/metadata/mod.rs @@ -1,6 +1,6 @@ pub async fn apply_metadata( - song_queue_path: &String, - coverart_queue_path: &String, + queued_song: &crate::queued_item::QueuedSong, + queued_coverart: &crate::queued_item::QueuedCoverArt, metadata: &crate::api::get_metadata_queue::response::Metadata, ) -> Result { // Apply metadata fields @@ -11,7 +11,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, song_queue_path, meta_type) { + match icarus_meta::meta::metadata::set_meta_value(t, &queued_song.path, meta_type) { Ok(_) => {} Err(_err) => { return Err(_err); @@ -21,7 +21,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, song_queue_path, meta_type) { + match icarus_meta::meta::metadata::set_meta_value(t, &queued_song.path, meta_type) { Ok(_) => {} Err(_err) => { return Err(_err); @@ -31,7 +31,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, song_queue_path, meta_type) { + match icarus_meta::meta::metadata::set_meta_value(t, &queued_song.path, meta_type) { Ok(_) => {} Err(_err) => { return Err(_err); @@ -42,7 +42,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, song_queue_path, meta_type) { + match icarus_meta::meta::metadata::set_meta_value(t, &queued_song.path, meta_type) { Ok(_) => {} Err(_err) => { return Err(_err); @@ -51,7 +51,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, song_queue_path, meta_type) { + match icarus_meta::meta::metadata::set_meta_value(t, &queued_song.path, meta_type) { Ok(_) => {} Err(_err) => { return Err(_err); @@ -61,7 +61,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, song_queue_path, meta_type) { + match icarus_meta::meta::metadata::set_meta_value(t, &queued_song.path, meta_type) { Ok(_) => {} Err(_err) => { return Err(_err); @@ -71,7 +71,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, song_queue_path, meta_type) { + match icarus_meta::meta::metadata::set_meta_value(t, &queued_song.path, meta_type) { Ok(_) => {} Err(_err) => { return Err(_err); @@ -80,7 +80,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, song_queue_path, meta_type) { + match icarus_meta::meta::metadata::set_meta_value(t, &queued_song.path, meta_type) { Ok(_) => {} Err(_err) => { return Err(_err); @@ -89,7 +89,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, song_queue_path, meta_type) { + match icarus_meta::meta::metadata::set_meta_value(t, &queued_song.path, meta_type) { Ok(_) => {} Err(_err) => { return Err(_err); @@ -98,7 +98,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, song_queue_path, meta_type) { + match icarus_meta::meta::metadata::set_meta_value(t, &queued_song.path, meta_type) { Ok(_) => {} Err(_err) => { return Err(_err); @@ -109,11 +109,11 @@ pub async fn apply_metadata( } // Apply coverart - match icarus_meta::meta::coverart::contains_coverart(song_queue_path) { + match icarus_meta::meta::coverart::contains_coverart(&queued_coverart.path) { Ok((exists, size)) => { if exists { println!("Coverart exists: {size:?} size"); - match icarus_meta::meta::coverart::remove_coverart(song_queue_path) { + match icarus_meta::meta::coverart::remove_coverart(queued_coverart.path) { Ok(_data) => {} Err(err) => { return Err(err); @@ -121,7 +121,7 @@ pub async fn apply_metadata( } } - match icarus_meta::meta::coverart::set_coverart(song_queue_path, coverart_queue_path) { + match icarus_meta::meta::coverart::set_coverart(queued_coverart.path, queued_coverart.path) { Ok(_data) => { if _data.is_empty() { println!("There was an issue"); diff --git a/src/queued_item.rs b/src/queued_item.rs new file mode 100644 index 0000000..5bacd99 --- /dev/null +++ b/src/queued_item.rs @@ -0,0 +1,13 @@ +#[derive(Debug)] +pub struct QueuedSong { + pub id: uuid::Uuid, + pub song: icarus_models::song::Song, + pub path: String, +} + +#[derive(Debug)] +pub struct QueuedCoverArt { + pub id: uuid::Uuid, + pub coverart: icarus_models::coverart::CoverArt, + pub path: String, +} -- 2.43.0 From 12921c26c301e7e5cff115390663cfe7d506d375 Mon Sep 17 00:00:00 2001 From: phoenix Date: Wed, 22 Oct 2025 13:11:29 -0400 Subject: [PATCH 2/7] tsk-62: Replaced references --- src/api.rs | 24 +++++++++++------------- src/main.rs | 37 +++++++++++++++++++++---------------- src/metadata/mod.rs | 7 ++++--- src/queued_item.rs | 4 ++-- 4 files changed, 38 insertions(+), 34 deletions(-) diff --git a/src/api.rs b/src/api.rs index ae4d756..e89990e 100644 --- a/src/api.rs +++ b/src/api.rs @@ -193,21 +193,20 @@ pub mod refresh_token { pub mod update_queued_song { pub async fn update_queued_song( app: &crate::config::App, - song_path: &String, - song_queue_id: &uuid::Uuid, + queued_song: &crate::queued_item::QueuedSong, ) -> Result { let client = reqwest::Client::builder().build()?; - println!("Song path: {song_path:?}"); + println!("Queued song path: {:?}", queued_song.path); // TODO: Make the filename random let form = reqwest::multipart::Form::new().part( "file", - reqwest::multipart::Part::bytes(std::fs::read(song_path).unwrap()) + reqwest::multipart::Part::bytes(std::fs::read(&queued_song.path).unwrap()) .file_name("track01.flac"), ); - let url = format!("{}/api/v2/song/queue/{song_queue_id}", app.uri); + let url = format!("{}/api/v2/song/queue/{}", app.uri, queued_song.id); println!("Url: {url:?}"); let (key, header) = crate::api::auth_header(app).await; @@ -274,15 +273,14 @@ pub mod create_song { } pub mod create_coverart { - pub async fn create( app: &crate::config::App, - song_id: &uuid::Uuid, - coverart_queue_id: &uuid::Uuid, + song: &icarus_models::song::Song, + queued_coverart: &crate::queued_item::QueuedCoverArt, ) -> Result { let client = reqwest::Client::builder().build()?; let url = format!("{}/api/v2/coverart", app.uri); - let payload = get_payload(song_id, coverart_queue_id); + let payload = get_payload(&song.id, &queued_coverart.id); let (key, header) = crate::api::auth_header(app).await; let request = client.post(url).json(&payload).header(key, header); @@ -309,12 +307,12 @@ pub mod wipe_data { pub mod song_queue { pub async fn wipe_data( app: &crate::config::App, - song_queue_id: &uuid::Uuid, + queued_song: &crate::queued_item::QueuedSong ) -> Result { let client = reqwest::Client::builder().build()?; let url = format!("{}/api/v2/song/queue/data/wipe", app.uri); let payload = serde_json::json!({ - "song_queue_id": song_queue_id + "song_queue_id": queued_song.id }); let (key, header) = crate::api::auth_header(app).await; let request = client.patch(url).json(&payload).header(key, header); @@ -333,12 +331,12 @@ pub mod wipe_data { pub mod coverart_queue { pub async fn wipe_data( app: &crate::config::App, - coverart_queue_id: &uuid::Uuid, + queued_coverart: &crate::queued_item::QueuedCoverArt ) -> Result { let client = reqwest::Client::builder().build()?; let url = format!("{}/api/v2/coverart/queue/data/wipe", app.uri); let payload = serde_json::json!({ - "coverart_queue_id": coverart_queue_id + "coverart_queue_id": queued_coverart.id }); let (key, header) = crate::api::auth_header(app).await; let request = client.patch(url).json(&payload).header(key, header); diff --git a/src/main.rs b/src/main.rs index e7597c4..f051f9c 100644 --- a/src/main.rs +++ b/src/main.rs @@ -63,10 +63,13 @@ async fn main() -> Result<(), Box> { Ok(( song, coverart, - (song_queue_id, _song_queue_path), - (coverart_queue_id, _coverart_queue_path), + _metadata, + queued_song, + queued_coverart + // (song_queue_id, _song_queue_path), + // (coverart_queue_id, _coverart_queue_path), )) => { - match wipe_data_from_queues(&app, &song_queue_id, &coverart_queue_id) + match wipe_data_from_queues(&app, &queued_song, &queued_coverart) .await { Ok(_) => match cleanup(&song, &coverart).await { @@ -102,16 +105,16 @@ async fn main() -> Result<(), Box> { async fn wipe_data_from_queues( app: &config::App, - song_queue_id: &uuid::Uuid, - coverart_queue_id: &uuid::Uuid, + queued_song: &crate::queued_item::QueuedSong, + queued_coverart: &crate::queued_item::QueuedCoverArt ) -> Result<(), std::io::Error> { - match api::wipe_data::song_queue::wipe_data(app, song_queue_id).await { + match api::wipe_data::song_queue::wipe_data(app, queued_song).await { Ok(response) => match response .json::() .await { Ok(_resp) => { - match api::wipe_data::coverart_queue::wipe_data(app, coverart_queue_id).await { + match api::wipe_data::coverart_queue::wipe_data(app, queued_coverart).await { Ok(inner_response) => match inner_response .json::() .await @@ -178,6 +181,9 @@ async fn some_work( user_id: &uuid::Uuid, ) -> Result< ( + icarus_models::song::Song, + icarus_models::coverart::CoverArt, + api::get_metadata_queue::response::Metadata, queued_item::QueuedSong, queued_item::QueuedCoverArt ), @@ -214,13 +220,12 @@ async fn some_work( }; */ - match metadata::apply_metadata(&song_queue_path, &coverart_queue_path, &metadata).await + match metadata::apply_metadata(&queued_song, &queued_coverart, &metadata).await { Ok(_applied) => { match api::update_queued_song::update_queued_song( app, - &song_queue_path, - song_queue_id, + &queued_song, ) .await { @@ -250,19 +255,19 @@ async fn some_work( println!("Response: {resp:?}"); let mut song = resp.data[0].clone(); - song.directory = song_directory; - song.filename = song_filename; + song.directory = queued_song.song.directory.clone(); + song.filename = queued_song.song.filename.clone(); - match api::create_coverart::create(app, &song.id, &coverart_queue_id).await { + match api::create_coverart::create(app, &song, &queued_coverart).await { Ok(response) => match response.json::().await { Ok(resp) => { println!("CoverArt sent and successfully parsed response"); println!("json: {resp:?}"); let mut coverart = resp.data[0].clone(); - coverart.directory = coverart_queue.directory; - coverart.filename = coverart_queue.filename; + coverart.directory = queued_coverart.coverart.directory.clone(); + coverart.filename = queued_coverart.coverart.filename.clone(); - Ok((song.clone(), coverart.clone(), (metadata.song_queue_id, song_queue_path), (coverart_queue_id, coverart_queue_path))) + Ok((song.clone(), coverart.clone(), metadata, queued_song.clone(), queued_coverart.clone())) } Err(err) => { Err(std::io::Error::other(err.to_string())) diff --git a/src/metadata/mod.rs b/src/metadata/mod.rs index b880372..1e28f59 100644 --- a/src/metadata/mod.rs +++ b/src/metadata/mod.rs @@ -1,3 +1,4 @@ +/// Applies metadata to the queued song pub async fn apply_metadata( queued_song: &crate::queued_item::QueuedSong, queued_coverart: &crate::queued_item::QueuedCoverArt, @@ -109,11 +110,11 @@ pub async fn apply_metadata( } // Apply coverart - match icarus_meta::meta::coverart::contains_coverart(&queued_coverart.path) { + match icarus_meta::meta::coverart::contains_coverart(&queued_song.path) { Ok((exists, size)) => { if exists { println!("Coverart exists: {size:?} size"); - match icarus_meta::meta::coverart::remove_coverart(queued_coverart.path) { + match icarus_meta::meta::coverart::remove_coverart(&queued_song.path) { Ok(_data) => {} Err(err) => { return Err(err); @@ -121,7 +122,7 @@ pub async fn apply_metadata( } } - match icarus_meta::meta::coverart::set_coverart(queued_coverart.path, queued_coverart.path) { + match icarus_meta::meta::coverart::set_coverart(&queued_song.path, &queued_coverart.path) { Ok(_data) => { if _data.is_empty() { println!("There was an issue"); diff --git a/src/queued_item.rs b/src/queued_item.rs index 5bacd99..2c07162 100644 --- a/src/queued_item.rs +++ b/src/queued_item.rs @@ -1,11 +1,11 @@ -#[derive(Debug)] +#[derive(Clone, Debug)] pub struct QueuedSong { pub id: uuid::Uuid, pub song: icarus_models::song::Song, pub path: String, } -#[derive(Debug)] +#[derive(Clone, Debug)] pub struct QueuedCoverArt { pub id: uuid::Uuid, pub coverart: icarus_models::coverart::CoverArt, -- 2.43.0 From a08246efd287715410fc992252100e0f69d95290 Mon Sep 17 00:00:00 2001 From: phoenix Date: Wed, 22 Oct 2025 13:20:14 -0400 Subject: [PATCH 3/7] tsk-62: Fix --- src/main.rs | 11 ++++++++++- src/queued_item.rs | 4 ++-- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/src/main.rs b/src/main.rs index f051f9c..c5a25bf 100644 --- a/src/main.rs +++ b/src/main.rs @@ -332,10 +332,19 @@ async fn prep_song( }; */ - let queued_song = queued_item::QueuedSong { + let queued_song: crate::queued_item::QueuedSong = match song.save_to_filesystem() { + Ok(_) => { + queued_item::QueuedSong { id: *song_queue_id, song, path: songpath + } + + } + Err(err) => { + eprintln!("Error: {err:?}"); + queued_item::QueuedSong{..Default::default()} + } }; println!("Saved at: {:?}", queued_song.path); diff --git a/src/queued_item.rs b/src/queued_item.rs index 2c07162..3c4e13b 100644 --- a/src/queued_item.rs +++ b/src/queued_item.rs @@ -1,11 +1,11 @@ -#[derive(Clone, Debug)] +#[derive(Clone, Debug, Default)] pub struct QueuedSong { pub id: uuid::Uuid, pub song: icarus_models::song::Song, pub path: String, } -#[derive(Clone, Debug)] +#[derive(Clone, Debug, Default)] pub struct QueuedCoverArt { pub id: uuid::Uuid, pub coverart: icarus_models::coverart::CoverArt, -- 2.43.0 From 05e772068caacfe31cacfc73c0012f36346375a0 Mon Sep 17 00:00:00 2001 From: phoenix Date: Wed, 22 Oct 2025 13:22:06 -0400 Subject: [PATCH 4/7] tsk-62: Code formatting --- src/api.rs | 4 ++-- src/main.rs | 50 +++++++++++++++++++-------------------------- src/metadata/mod.rs | 5 ++++- 3 files changed, 27 insertions(+), 32 deletions(-) diff --git a/src/api.rs b/src/api.rs index e89990e..e11da54 100644 --- a/src/api.rs +++ b/src/api.rs @@ -307,7 +307,7 @@ pub mod wipe_data { pub mod song_queue { pub async fn wipe_data( app: &crate::config::App, - queued_song: &crate::queued_item::QueuedSong + queued_song: &crate::queued_item::QueuedSong, ) -> Result { let client = reqwest::Client::builder().build()?; let url = format!("{}/api/v2/song/queue/data/wipe", app.uri); @@ -331,7 +331,7 @@ pub mod wipe_data { pub mod coverart_queue { pub async fn wipe_data( app: &crate::config::App, - queued_coverart: &crate::queued_item::QueuedCoverArt + queued_coverart: &crate::queued_item::QueuedCoverArt, ) -> Result { let client = reqwest::Client::builder().build()?; let url = format!("{}/api/v2/coverart/queue/data/wipe", app.uri); diff --git a/src/main.rs b/src/main.rs index c5a25bf..e47cf85 100644 --- a/src/main.rs +++ b/src/main.rs @@ -65,12 +65,10 @@ async fn main() -> Result<(), Box> { coverart, _metadata, queued_song, - queued_coverart - // (song_queue_id, _song_queue_path), - // (coverart_queue_id, _coverart_queue_path), + queued_coverart, // (song_queue_id, _song_queue_path), + // (coverart_queue_id, _coverart_queue_path), )) => { - match wipe_data_from_queues(&app, &queued_song, &queued_coverart) - .await + match wipe_data_from_queues(&app, &queued_song, &queued_coverart).await { Ok(_) => match cleanup(&song, &coverart).await { Ok(_) => { @@ -106,7 +104,7 @@ async fn main() -> Result<(), Box> { async fn wipe_data_from_queues( app: &config::App, queued_song: &crate::queued_item::QueuedSong, - queued_coverart: &crate::queued_item::QueuedCoverArt + queued_coverart: &crate::queued_item::QueuedCoverArt, ) -> Result<(), std::io::Error> { match api::wipe_data::song_queue::wipe_data(app, queued_song).await { Ok(response) => match response @@ -185,7 +183,7 @@ async fn some_work( icarus_models::coverart::CoverArt, api::get_metadata_queue::response::Metadata, queued_item::QueuedSong, - queued_item::QueuedCoverArt + queued_item::QueuedCoverArt, ), std::io::Error, > { @@ -220,15 +218,9 @@ async fn some_work( }; */ - match metadata::apply_metadata(&queued_song, &queued_coverart, &metadata).await - { + match metadata::apply_metadata(&queued_song, &queued_coverart, &metadata).await { Ok(_applied) => { - match api::update_queued_song::update_queued_song( - app, - &queued_song, - ) - .await - { + match api::update_queued_song::update_queued_song(app, &queued_song).await { Ok(response) => { match response .json::() @@ -332,20 +324,20 @@ async fn prep_song( }; */ - let queued_song: crate::queued_item::QueuedSong = match song.save_to_filesystem() { - Ok(_) => { - queued_item::QueuedSong { - id: *song_queue_id, - song, - path: songpath - } - - } - Err(err) => { - eprintln!("Error: {err:?}"); - queued_item::QueuedSong{..Default::default()} - } - }; + let queued_song: crate::queued_item::QueuedSong = + match song.save_to_filesystem() { + Ok(_) => queued_item::QueuedSong { + id: *song_queue_id, + song, + path: songpath, + }, + Err(err) => { + eprintln!("Error: {err:?}"); + queued_item::QueuedSong { + ..Default::default() + } + } + }; println!("Saved at: {:?}", queued_song.path); diff --git a/src/metadata/mod.rs b/src/metadata/mod.rs index 1e28f59..87283d6 100644 --- a/src/metadata/mod.rs +++ b/src/metadata/mod.rs @@ -122,7 +122,10 @@ pub async fn apply_metadata( } } - match icarus_meta::meta::coverart::set_coverart(&queued_song.path, &queued_coverart.path) { + match icarus_meta::meta::coverart::set_coverart( + &queued_song.path, + &queued_coverart.path, + ) { Ok(_data) => { if _data.is_empty() { println!("There was an issue"); -- 2.43.0 From b23ec80ee8c60f993f766c477b671c1efa2ebbd5 Mon Sep 17 00:00:00 2001 From: phoenix Date: Wed, 22 Oct 2025 13:26:24 -0400 Subject: [PATCH 5/7] tsk-62: Warning fix --- src/main.rs | 39 +++------------------------------------ 1 file changed, 3 insertions(+), 36 deletions(-) diff --git a/src/main.rs b/src/main.rs index e47cf85..36dfc8b 100644 --- a/src/main.rs +++ b/src/main.rs @@ -65,8 +65,7 @@ async fn main() -> Result<(), Box> { coverart, _metadata, queued_song, - queued_coverart, // (song_queue_id, _song_queue_path), - // (coverart_queue_id, _coverart_queue_path), + queued_coverart, )) => { match wipe_data_from_queues(&app, &queued_song, &queued_coverart).await { @@ -189,35 +188,12 @@ async fn some_work( > { match prep_song(app, song_queue_id).await { Ok(( - // (song_directory, song_filename), queued_song, queued_coverart, - // (coverart_directory, coverart_filename), metadata, - // coverart_queue_id, )) => { println!("Prepping song"); - /* - let mut song_queue_path: String = String::new(); - let p = std::path::Path::new(&song_directory); - let sp = p.join(&song_filename); - song_queue_path.push_str(sp.to_str().unwrap_or_default()); - let coverart_queue = icarus_models::coverart::CoverArt { - directory: coverart_directory, - filename: coverart_filename, - ..Default::default() - }; - let coverart_queue_path = match coverart_queue.get_path() { - Ok(path) => path, - Err(err) => { - eprintln!("Could not get CoverArt path"); - eprintln!("Error: {err:?}"); - std::process::exit(-1); - } - }; - */ - match metadata::apply_metadata(&queued_song, &queued_coverart, &metadata).await { Ok(_applied) => { match api::update_queued_song::update_queued_song(app, &queued_song).await { @@ -293,12 +269,9 @@ async fn prep_song( song_queue_id: &uuid::Uuid, ) -> Result< ( - // (String, String), queued_item::QueuedSong, queued_item::QueuedCoverArt, - // (String, String), api::get_metadata_queue::response::Metadata, - // uuid::Uuid, ), reqwest::Error, > { @@ -317,12 +290,6 @@ async fn prep_song( ..Default::default() }; let songpath = song.song_path().unwrap_or_default(); - /* - let song_queue_path = match song.save_to_filesystem() { - Ok(_) => std::path::Path::new(&songpath), - Err(_err) => std::path::Path::new(""), - }; - */ let queued_song: crate::queued_item::QueuedSong = match song.save_to_filesystem() { @@ -387,10 +354,10 @@ async fn prep_song( let queued_coverart = queued_item::QueuedCoverArt { id: coverart_queue_id, - coverart: coverart, + coverart path: coverart_queue_fs_path }; - // let coverart_queue_path = std::path::Path::new(&coverart_queue_fs_path); + println!("Saved coverart queue file at: {:?}", queued_coverart.path); Ok((queued_song, queued_coverart, metadata.clone())) -- 2.43.0 From 99e40ad81c2566f5b7bbf115694eb51da4dc68c8 Mon Sep 17 00:00:00 2001 From: phoenix Date: Wed, 22 Oct 2025 13:26:36 -0400 Subject: [PATCH 6/7] tsk-62: Version bump --- Cargo.lock | 2 +- Cargo.toml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 079b236..5c1a772 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1322,7 +1322,7 @@ dependencies = [ [[package]] name = "songparser" -version = "0.4.6" +version = "0.4.7" dependencies = [ "futures", "icarus_envy", diff --git a/Cargo.toml b/Cargo.toml index 7c4ce71..595155f 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "songparser" -version = "0.4.6" +version = "0.4.7" edition = "2024" rust-version = "1.90" -- 2.43.0 From 0603fd3eb047ef3c3f52a4dde3cddc85e0dad6e1 Mon Sep 17 00:00:00 2001 From: phoenix Date: Wed, 22 Oct 2025 13:34:00 -0400 Subject: [PATCH 7/7] tsk-62: Build fix --- src/main.rs | 16 +++------------- 1 file changed, 3 insertions(+), 13 deletions(-) diff --git a/src/main.rs b/src/main.rs index 36dfc8b..62c338e 100644 --- a/src/main.rs +++ b/src/main.rs @@ -60,13 +60,7 @@ async fn main() -> Result<(), Box> { let user_id = song_queue_item.data[0].user_id; match some_work(&app, &song_queue_id, &user_id).await { - Ok(( - song, - coverart, - _metadata, - queued_song, - queued_coverart, - )) => { + Ok((song, coverart, _metadata, queued_song, queued_coverart)) => { match wipe_data_from_queues(&app, &queued_song, &queued_coverart).await { Ok(_) => match cleanup(&song, &coverart).await { @@ -187,11 +181,7 @@ async fn some_work( std::io::Error, > { match prep_song(app, song_queue_id).await { - Ok(( - queued_song, - queued_coverart, - metadata, - )) => { + Ok((queued_song, queued_coverart, metadata)) => { println!("Prepping song"); match metadata::apply_metadata(&queued_song, &queued_coverart, &metadata).await { @@ -354,7 +344,7 @@ async fn prep_song( let queued_coverart = queued_item::QueuedCoverArt { id: coverart_queue_id, - coverart + coverart, path: coverart_queue_fs_path }; -- 2.43.0