diff options
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, |