From 0f0b2f3e2aa5af6cf08e2e278792ebbc3e537e6f Mon Sep 17 00:00:00 2001 From: Oscar Linderholm Date: Tue, 9 Apr 2019 21:21:37 +0200 Subject: [PATCH] Add methods for fetching Spotify URI items --- src/spotify.rs | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/src/spotify.rs b/src/spotify.rs index 34dda3d..0a56455 100644 --- a/src/spotify.rs +++ b/src/spotify.rs @@ -14,11 +14,13 @@ use librespot::playback::player::Player; use rspotify::spotify::client::ApiError; use rspotify::spotify::client::Spotify as SpotifyAPI; use rspotify::spotify::model::album::{FullAlbum, SimplifiedAlbum}; +use rspotify::spotify::model::artist::FullArtist; use rspotify::spotify::model::page::Page; -use rspotify::spotify::model::playlist::{PlaylistTrack, SimplifiedPlaylist}; +use rspotify::spotify::model::playlist::{FullPlaylist, PlaylistTrack, SimplifiedPlaylist}; use rspotify::spotify::model::search::{ SearchAlbums, SearchArtists, SearchPlaylists, SearchTracks, }; +use rspotify::spotify::model::track::FullTrack; use failure::Error; @@ -446,6 +448,22 @@ impl Spotify { result.map(|r| r.id) } + pub fn album(&self, album_id: &str) -> Option { + self.api_with_retry(|api| api.album(album_id)) + } + + pub fn artist(&self, artist_id: &str) -> Option { + self.api_with_retry(|api| api.artist(artist_id)) + } + + pub fn playlist(&self, playlist_id: &str) -> Option { + self.api_with_retry(|api| api.playlist(playlist_id, None, None)) + } + + pub fn track(&self, track_id: &str) -> Option { + self.api_with_retry(|api| api.track(track_id)) + } + pub fn search_track(&self, query: &str, limit: u32, offset: u32) -> Option { self.api_with_retry(|api| api.search_track(query, limit, offset, None)) }