From 81bf0b97569c8f3f05cb34a59182381fdd0b258c Mon Sep 17 00:00:00 2001 From: vveeps <54472340+vveeps@users.noreply.github.com> Date: Sat, 6 Nov 2021 23:07:11 +0200 Subject: [PATCH] fix spotify url issue and handle local tracks properly --- pomice/spotify/album.py | 2 +- pomice/spotify/playlist.py | 2 +- pomice/spotify/track.py | 7 +++++-- 3 files changed, 7 insertions(+), 4 deletions(-) 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 (