aboutsummaryrefslogtreecommitdiffstats
path: root/src/deserialize.rs
diff options
context:
space:
mode:
authoralyx <alyx@aleteoryx.me>2024-04-09 17:10:27 -0400
committeralyx <alyx@aleteoryx.me>2024-04-09 17:10:27 -0400
commit074c512ac422dbd86527b943b54e33200784b478 (patch)
tree51329f991ff4fdbacc9b2464e067ab0ef087ba7e /src/deserialize.rs
parentf548d2d297bbf452aa206042f2029d7137df0477 (diff)
downloadlfm_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.rs14
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,