diff options
author | alyx <alyx@aleteoryx.me> | 2024-04-09 17:10:27 -0400 |
---|---|---|
committer | alyx <alyx@aleteoryx.me> | 2024-04-09 17:10:27 -0400 |
commit | 074c512ac422dbd86527b943b54e33200784b478 (patch) | |
tree | 51329f991ff4fdbacc9b2464e067ab0ef087ba7e /src/deserialize.rs | |
parent | f548d2d297bbf452aa206042f2029d7137df0477 (diff) | |
download | lfm_embed-074c512ac422dbd86527b943b54e33200784b478.tar.gz lfm_embed-074c512ac422dbd86527b943b54e33200784b478.tar.bz2 lfm_embed-074c512ac422dbd86527b943b54e33200784b478.zip |
Fixed backend API, again.
Turns out track.getInfo just doesn't feel like serving image data anymore, even though the example response shows it. I love last.fm so much.
Diffstat (limited to 'src/deserialize.rs')
-rw-r--r-- | src/deserialize.rs | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/src/deserialize.rs b/src/deserialize.rs index 0998cbd..d774b14 100644 --- a/src/deserialize.rs +++ b/src/deserialize.rs @@ -70,7 +70,7 @@ pub struct Artist { pub url: Option<Arc<str>> } -#[derive(Deserialize, Debug, Ord, PartialOrd, Eq, PartialEq)] +#[derive(Deserialize, Debug, Ord, PartialOrd, Eq, PartialEq, Copy, Clone)] #[serde(rename_all = "lowercase")] #[repr(u8)] pub enum ImageSize { @@ -93,9 +93,8 @@ pub struct Album { #[serde(alias = "#text")] pub title: Arc<str>, #[serde(default)] - #[serde(rename = "image")] + #[serde(alias = "image")] pub images: Vec<Image>, - } @@ -151,7 +150,14 @@ pub struct TrackStub { #[serde(rename = "@attr")] #[serde(default)] pub attr: TrackAttr, + #[serde(default)] + #[serde(alias = "image")] + pub images: Vec<Image>, + + #[serde(default)] + pub album: Option<Album> } + #[derive(Deserialize, Debug)] pub struct RecentTracks { pub track: Vec<TrackStub> @@ -176,7 +182,7 @@ pub struct User { #[serde(deserialize_with = "str_num")] pub album_count: u64, - #[serde(rename = "image")] + #[serde(alias = "image")] pub images: Vec<Image>, pub registered: TimeStamp, |