deemix-py/deemix/types/Playlist.py

47 lines
1.7 KiB
Python
Raw Normal View History

2021-01-31 17:59:15 +01:00
from deemix.types.Artist import Artist
from deemix.types.Date import Date
from deemix.types.Picture import Picture, StaticPicture
2021-01-31 17:59:15 +01:00
class Playlist:
def __init__(self, playlistAPI):
self.id = "pl_" + str(playlistAPI['id'])
self.title = playlistAPI['title']
self.rootArtist = None
self.artist = {"Main": []}
self.artists = []
self.trackTotal = playlistAPI['nb_tracks']
self.recordType = "compile"
self.barcode = ""
self.label = ""
self.explicit = playlistAPI['explicit']
self.genre = ["Compilation", ]
year = playlistAPI["creation_date"][0:4]
month = playlistAPI["creation_date"][5:7]
day = playlistAPI["creation_date"][8:10]
self.date = Date(day, month, year)
2021-01-31 17:59:15 +01:00
self.discTotal = "1"
self.playlistID = playlistAPI['id']
2021-01-31 17:59:15 +01:00
self.owner = playlistAPI['creator']
2021-01-31 17:59:15 +01:00
if 'dzcdn.net' in playlistAPI['picture_small']:
url = playlistAPI['picture_small']
picType = url[url.find('images/')+7:]
picType = picType[:picType.find('/')]
md5 = url[url.find(picType+'/') + len(picType)+1:-24]
self.pic = Picture(md5, picType)
2021-01-31 17:59:15 +01:00
else:
self.pic = StaticPicture(playlistAPI['picture_xl'])
if 'various_artist' in playlistAPI:
pic_md5 = playlistAPI['various_artist']['picture_small']
pic_md5 = pic_md5[pic_md5.find('artist/') + 7:-24]
self.variousArtists = Artist(
playlistAPI['various_artist']['id'],
playlistAPI['various_artist']['name'],
"Main",
pic_md5
)
self.mainArtist = self.variousArtists