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/cache/user.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/cache/user.rs')
-rw-r--r-- | src/cache/user.rs | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/cache/user.rs b/src/cache/user.rs index 6d2d414..b05d0d1 100644 --- a/src/cache/user.rs +++ b/src/cache/user.rs @@ -35,6 +35,7 @@ fn user_getter(username: &String) -> UserFuture { log::trace!("Got user.getUserInfo JSON for `{username}`: {userstr}"); let userinfo = serde_json::from_str::<GetUserInfo>(&userstr) .map_err(|e| {log::error!("Couldn't parse user.getInfo for `{username}`: {e}"); (StatusCode::INTERNAL_SERVER_ERROR, "Couldn't parse user.getInfo!")})?.user; + log::trace!("Parsed into: {userinfo:?}"); let tracksreq = HTTP.get(format!("https://ws.audioscrobbler.com/2.0/?method=user.getRecentTracks&format=json&extended=1&limit=1&user={username}&api_key={}", CONFIG.lastfm_api_key)) .send().await @@ -47,6 +48,7 @@ fn user_getter(username: &String) -> UserFuture { let trackstub = serde_json::from_str::<GetRecentTracks>(&tracksstr) .map_err(|e| {log::error!("Couldn't parse user.getRecentTracks for `{username}`: {e}"); (StatusCode::INTERNAL_SERVER_ERROR, "Couldn't parse user.getRecentTracks!")})? .recenttracks.track.into_iter().next().ok_or((StatusCode::UNPROCESSABLE_ENTITY, "You need to listen to some songs first!"))?; + log::trace!("Parsed into: {trackstub:?}"); let trackreq = HTTP.get(format!("https://ws.audioscrobbler.com/2.0/?method=track.getInfo&format=json&username={username}&api_key={}&track={}&artist={}", CONFIG.lastfm_api_key, trackstub.name, trackstub.artist.name)) .send().await @@ -57,6 +59,7 @@ fn user_getter(username: &String) -> UserFuture { log::trace!("Got track.getInfo JSON for `{username}`: {trackstr}"); let trackinfo = serde_json::from_str::<GetTrackInfo>(&trackstr) .map_err(|e| {log::error!("Couldn't parse track.getInfo for `{}` by `{}` on behalf of {username}: {e}", trackstub.name, trackstub.artist.name); (StatusCode::INTERNAL_SERVER_ERROR, "Couldn't parse track.getInfo!")})?.track; + log::trace!("Parsed into: {trackinfo:?}"); Ok(Arc::new((userinfo, trackinfo, trackstub))) }) |