aboutsummaryrefslogtreecommitdiff
path: root/pandora/models/bookmark.py
diff options
context:
space:
mode:
Diffstat (limited to 'pandora/models/bookmark.py')
-rw-r--r--pandora/models/bookmark.py32
1 files changed, 32 insertions, 0 deletions
diff --git a/pandora/models/bookmark.py b/pandora/models/bookmark.py
new file mode 100644
index 0000000..810348b
--- /dev/null
+++ b/pandora/models/bookmark.py
@@ -0,0 +1,32 @@
1from ._base import PandoraModel, Field, DateField
2
3
4class Bookmark(PandoraModel):
5
6 music_token = Field("musicToken")
7 artist_name = Field("artistName")
8 art_url = Field("artUrl")
9 bookmark_token = Field("bookmarkToken")
10 date_created = DateField("dateCreated")
11
12 # song only
13 sample_url = Field("sampleUrl")
14 sample_gain = Field("sampleGain")
15 album_name = Field("albumName")
16 song_name = Field("songName")
17
18 @property
19 def is_song_bookmark(self):
20 return self.song_name is not None
21
22 def delete(self):
23 if self.is_song_bookmark:
24 self._api_client.delete_song_bookmark(self.bookmark_token)
25 else:
26 self._api_client.delete_artist_bookmark(self.bookmark_token)
27
28
29class BookmarkList(PandoraModel):
30
31 songs = Field("songs", model=Bookmark)
32 artists = Field("artists", model=Bookmark)