From 3fb7d719d1e1d740b1e58c3e883fe23b3bf8f173 Mon Sep 17 00:00:00 2001 From: Wojciech Kozlowski Date: Sun, 22 Sep 2024 16:23:00 +0200 Subject: [PATCH] Nits --- src/external/musicbrainz/api/lookup.rs | 9 +++------ src/external/musicbrainz/api/search/artist.rs | 9 +++------ src/tui/lib/external/musicbrainz/api/mod.rs | 12 +++++++++--- 3 files changed, 15 insertions(+), 15 deletions(-) diff --git a/src/external/musicbrainz/api/lookup.rs b/src/external/musicbrainz/api/lookup.rs index 088ec40..1bd3c7f 100644 --- a/src/external/musicbrainz/api/lookup.rs +++ b/src/external/musicbrainz/api/lookup.rs @@ -75,7 +75,7 @@ impl<'a> LookupArtistRequest<'a> { pub struct LookupArtistResponse { pub id: Mbid, pub name: ArtistId, - pub sort: Option, + pub sort_name: ArtistId, pub disambiguation: Option, pub release_groups: Vec, } @@ -92,13 +92,10 @@ struct DeserializeLookupArtistResponse { impl From for LookupArtistResponse { fn from(value: DeserializeLookupArtistResponse) -> Self { - let sort: Option = Some(value.sort_name) - .filter(|s| s != &value.name) - .map(Into::into); LookupArtistResponse { id: value.id.into(), name: value.name.into(), - sort, + sort_name: value.sort_name.into(), disambiguation: value.disambiguation, release_groups: value .release_groups @@ -229,7 +226,7 @@ mod tests { let response = LookupArtistResponse { id: de_id.0, name: de_name.into(), - sort: Some(de_sort_name.into()), + sort_name: de_sort_name.into(), disambiguation: de_disambiguation, release_groups: vec![release_group], }; diff --git a/src/external/musicbrainz/api/search/artist.rs b/src/external/musicbrainz/api/search/artist.rs index 7d0f805..e671fe5 100644 --- a/src/external/musicbrainz/api/search/artist.rs +++ b/src/external/musicbrainz/api/search/artist.rs @@ -50,7 +50,7 @@ pub struct SearchArtistResponseArtist { pub score: u8, pub id: Mbid, pub name: ArtistId, - pub sort: Option, + pub sort_name: ArtistId, pub disambiguation: Option, } @@ -66,14 +66,11 @@ struct DeserializeSearchArtistResponseArtist { impl From for SearchArtistResponseArtist { fn from(value: DeserializeSearchArtistResponseArtist) -> Self { - let sort: Option = Some(value.sort_name) - .filter(|s| s != &value.name) - .map(Into::into); SearchArtistResponseArtist { score: value.score, id: value.id.into(), name: value.name.into(), - sort, + sort_name: value.sort_name.into(), disambiguation: value.disambiguation, } } @@ -109,7 +106,7 @@ mod tests { score: 67, id: a.id.0, name: a.name.clone().into(), - sort: Some(a.sort_name).filter(|sn| sn != &a.name).map(Into::into), + sort_name: a.sort_name.clone().into(), disambiguation: a.disambiguation, }) .collect(), diff --git a/src/tui/lib/external/musicbrainz/api/mod.rs b/src/tui/lib/external/musicbrainz/api/mod.rs index 5f713fd..a74a78e 100644 --- a/src/tui/lib/external/musicbrainz/api/mod.rs +++ b/src/tui/lib/external/musicbrainz/api/mod.rs @@ -5,7 +5,7 @@ use std::collections::HashMap; use musichoard::{ collection::{ album::{AlbumDate, AlbumMeta, AlbumSeq}, - artist::ArtistMeta, + artist::{ArtistId, ArtistMeta}, musicbrainz::Mbid, }, external::musicbrainz::{ @@ -93,10 +93,13 @@ impl IMusicBrainz for MusicBrainz { } fn from_lookup_artist_response(entity: LookupArtistResponse) -> Lookup { + let sort: Option = Some(entity.sort_name) + .filter(|s| s != &entity.name) + .map(Into::into); Lookup { item: ArtistMeta { id: entity.name, - sort: entity.sort.map(Into::into), + sort, musicbrainz: Some(entity.id.into()), properties: HashMap::new(), }, @@ -119,11 +122,14 @@ fn from_lookup_release_group_response(entity: LookupReleaseGroupResponse) -> Loo } fn from_search_artist_response_artist(entity: SearchArtistResponseArtist) -> Match { + let sort: Option = Some(entity.sort_name) + .filter(|s| s != &entity.name) + .map(Into::into); Match { score: entity.score, item: ArtistMeta { id: entity.name, - sort: entity.sort.map(Into::into), + sort, musicbrainz: Some(entity.id.into()), properties: HashMap::new(), },