aboutsummaryrefslogtreecommitdiffstats
path: root/src/deserialize.rs
diff options
context:
space:
mode:
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,