diff --git a/pomice/spotify/album.py b/pomice/spotify/album.py index 5fc8780..9b914ec 100644 --- a/pomice/spotify/album.py +++ b/pomice/spotify/album.py @@ -11,7 +11,7 @@ class Album: self.total_tracks = data["total_tracks"] self.id = data["id"] self.image = data["images"][0]["url"] - self.uri = f"https://open.spotify.com/album/{self.id}" + self.uri = data["external_urls"]["spotify"] def __repr__(self) -> str: return ( diff --git a/pomice/spotify/playlist.py b/pomice/spotify/playlist.py index 35bdc32..6f59806 100644 --- a/pomice/spotify/playlist.py +++ b/pomice/spotify/playlist.py @@ -12,7 +12,7 @@ class Playlist: self.total_tracks = data["tracks"]["total"] self.id = data["id"] self.image = data["images"][0]["url"] - self.uri = f"https://open.spotify.com/playlist/{self.id}" + self.uri = data["external_urls"]["spotify"] def __repr__(self) -> str: return ( diff --git a/pomice/spotify/track.py b/pomice/spotify/track.py index 969fc7b..9938507 100644 --- a/pomice/spotify/track.py +++ b/pomice/spotify/track.py @@ -7,12 +7,15 @@ class Track: self.length = data["duration_ms"] self.id = data["id"] - if data.get("album") and data["album"]["images"]: + if data.get("album") and data["album"].get("images"): self.image = data["album"]["images"][0]["url"] else: self.image = None - self.uri = f"https://open.spotify.com/track/{self.id}" + if data["is_local"]: + self.uri = None + else: + self.uri = data["external_urls"]["spotify"] def __repr__(self) -> str: return (