diff options
author | Jesse Luehrs <doy@tozt.net> | 2018-11-06 01:50:59 -0500 |
---|---|---|
committer | Jesse Luehrs <doy@tozt.net> | 2018-11-06 01:50:59 -0500 |
commit | a7cceb1aa5afb13de9f51c10670757d39d50e2a3 (patch) | |
tree | 826cec321541a71aa5c5b784672772b40f491412 /src/lastfm/api_types.rs | |
parent | 93f6e7083af1db40b16db049b62025f8cdcbbc5a (diff) | |
download | lastfm-query-a7cceb1aa5afb13de9f51c10670757d39d50e2a3.tar.gz lastfm-query-a7cceb1aa5afb13de9f51c10670757d39d50e2a3.zip |
add some basic last.fm api querying
Diffstat (limited to 'src/lastfm/api_types.rs')
-rw-r--r-- | src/lastfm/api_types.rs | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/src/lastfm/api_types.rs b/src/lastfm/api_types.rs new file mode 100644 index 0000000..28b593a --- /dev/null +++ b/src/lastfm/api_types.rs @@ -0,0 +1,44 @@ +#![allow(non_camel_case_types)] + +#[derive(Deserialize)] +pub struct track_artist { + #[serde(rename = "#text")] + pub text: String, +} + +#[derive(Deserialize)] +pub struct track_album { + #[serde(rename = "#text")] + pub text: String, +} + +#[derive(Deserialize)] +pub struct track_date { + pub uts: String, // no idea why this is a string either +} + +#[derive(Deserialize)] +pub struct track { + pub artist: track_artist, + pub name: String, + pub album: track_album, + pub date: track_date, +} + +#[derive(Deserialize)] +pub struct recent_tracks_recenttracks_attr { + pub total: String, // no idea why this is a string +} + +#[derive(Deserialize)] +pub struct recent_tracks_recenttracks { + pub track: Vec<track>, + #[serde(rename = "@attr")] + pub attr: recent_tracks_recenttracks_attr, +} + +#[derive(Deserialize)] +pub struct recent_tracks { + pub recenttracks: recent_tracks_recenttracks, +} + |