From 9daf2cc2a04b5447916bc621ca2bf8c09c7e73b6 Mon Sep 17 00:00:00 2001 From: Bradlee Speice Date: Mon, 13 Sep 2021 23:43:23 -0400 Subject: [PATCH] Support library export --- spotify_model/__init__.py | 6 ++++-- spotify_model/album.py | 11 +++++++++++ spotify_model/track.py | 11 +++++++++++ 3 files changed, 26 insertions(+), 2 deletions(-) diff --git a/spotify_model/__init__.py b/spotify_model/__init__.py index 28935b9..92492fe 100644 --- a/spotify_model/__init__.py +++ b/spotify_model/__init__.py @@ -2,12 +2,12 @@ Client-agnostic model for marshalling Spotify data types. """ -from .album import SearchAlbum, SimplifiedAlbum +from .album import SavedAlbum, SearchAlbum, SimplifiedAlbum from .artist import Artist, SimplifiedArtist from .extra import ReleaseDatePrecision from .paging import Cursor, CursorPaging, Paging from .playlist import PlaylistTrack, SimplifiedPlaylist -from .track import SimplifiedTrack +from .track import SavedTrack, SimplifiedTrack, Track from .user import PrivateUser, PublicUser __all__ = [ @@ -17,6 +17,8 @@ __all__ = [ "PublicUser", "ReleaseDatePrecision", "SearchAlbum", + "SavedAlbum", + "SavedTrack", "SimplifiedAlbum", "SimplifiedPlaylist", "SimplifiedTrack", diff --git a/spotify_model/album.py b/spotify_model/album.py index 16360a4..5e85e7e 100644 --- a/spotify_model/album.py +++ b/spotify_model/album.py @@ -41,3 +41,14 @@ class SimplifiedAlbum(SearchAlbum): label: str popularity: int tracks: Paging + + +class SavedAlbum(BaseModel): + """ + Album as returned by the Library API + + https://developer.spotify.com/documentation/web-api/reference/#object-savedalbumobject + """ + + added_at: str + album: SimplifiedAlbum diff --git a/spotify_model/track.py b/spotify_model/track.py index 79599be..6a8dc69 100644 --- a/spotify_model/track.py +++ b/spotify_model/track.py @@ -44,3 +44,14 @@ class Track(SimplifiedTrack): album: SearchAlbum external_ids: Dict[str, str] popularity: int + + +class SavedTrack(BaseModel): + """ + Track as returned by the Library API + + https://developer.spotify.com/documentation/web-api/reference/#object-savedtrackobject + """ + + added_at: str + track: Track