tsk-62: Making changes to queued song and coverart

This commit is contained in:
2025-10-22 12:52:59 -04:00
parent 106867e5ee
commit c2e2e1b03a
3 changed files with 63 additions and 33 deletions

View File

@@ -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<bool, std::io::Error> {
// 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");