Убрана обязательность следующих полей класса `Playlist`: `uid`, `kind`, `title`, `track_count`.
Добавлен новый класс `PlaylistAbsence` представляющий объект описывающий причину отсутствия плейлиста.
このコミットが含まれているのは:
コミット
f379280fc2
|
@ -32,6 +32,7 @@ from .playlist.made_for import MadeFor
|
|||
from .playlist.user import User
|
||||
from .playlist.play_counter import PlayCounter
|
||||
from .playlist.playlist_id import PlaylistId
|
||||
from .playlist.playlist_absence import PlaylistAbsence
|
||||
from .playlist.playlist import Playlist
|
||||
|
||||
from .tracks_list import TracksList
|
||||
|
@ -113,4 +114,5 @@ __all__ = ['YandexMusicObject', 'Client', 'Account', 'PassportPhone', 'Invocatio
|
|||
'PersonalPlaylistsData', 'Promotion', 'Landing', 'Chart', 'ChartItem', 'PlayContext', 'Title', 'Genre',
|
||||
'Icon', 'Images', 'Id', 'Station', 'Dashboard', 'RotorSettings', 'AdParams', 'Restrictions', 'Value', 'Enum',
|
||||
'DiscreteScale', 'StationResult', 'Sequence', 'StationTracksResult', 'BriefInfo', 'Description', 'PlaylistId',
|
||||
'Vinyl', 'Supplement', 'Lyrics', 'VideoSupplement', 'ArtistTracks', 'Pager', 'ArtistAlbums']
|
||||
'Vinyl', 'Supplement', 'Lyrics', 'VideoSupplement', 'ArtistTracks', 'Pager', 'ArtistAlbums',
|
||||
'PlaylistAbsence']
|
||||
|
|
|
@ -4,13 +4,14 @@ from yandex_music import YandexMusicObject
|
|||
class Playlist(YandexMusicObject):
|
||||
def __init__(self,
|
||||
owner,
|
||||
uid,
|
||||
kind,
|
||||
title,
|
||||
track_count,
|
||||
cover,
|
||||
made_for,
|
||||
play_counter,
|
||||
playlist_absence,
|
||||
uid=None,
|
||||
kind=None,
|
||||
title=None,
|
||||
track_count=None,
|
||||
tags=None,
|
||||
revision=None,
|
||||
snapshot=None,
|
||||
|
@ -36,14 +37,15 @@ class Playlist(YandexMusicObject):
|
|||
client=None,
|
||||
**kwargs):
|
||||
self.owner = owner
|
||||
self.cover = cover
|
||||
self.made_for = made_for
|
||||
self.play_counter = play_counter
|
||||
self.playlist_absence = playlist_absence
|
||||
|
||||
self.uid = uid
|
||||
self.kind = kind
|
||||
self.title = title
|
||||
self.track_count = track_count
|
||||
self.cover = cover
|
||||
self.made_for = made_for
|
||||
self.play_counter = play_counter
|
||||
|
||||
self.revision = revision
|
||||
self.snapshot = snapshot
|
||||
self.visibility = visibility
|
||||
|
@ -68,8 +70,7 @@ class Playlist(YandexMusicObject):
|
|||
self.tags = tags
|
||||
|
||||
self.client = client
|
||||
self._id_attrs = (self.uid, self.kind, self.title, self.track_count, self.cover,
|
||||
self.made_for, self.play_counter)
|
||||
self._id_attrs = (self.uid, self.kind, self.title, self.playlist_absence)
|
||||
|
||||
@property
|
||||
def is_mine(self):
|
||||
|
@ -127,12 +128,13 @@ class Playlist(YandexMusicObject):
|
|||
return None
|
||||
|
||||
data = super(Playlist, cls).de_json(data, client)
|
||||
from yandex_music import User, MadeFor, Cover, PlayCounter, TrackShort
|
||||
from yandex_music import User, MadeFor, Cover, PlayCounter, TrackShort, PlaylistAbsence
|
||||
data['owner'] = User.de_json(data.get('owner'), client)
|
||||
data['cover'] = Cover.de_json(data.get('cover'), client)
|
||||
data['made_for'] = MadeFor.de_json(data.get('made_for'), client)
|
||||
data['tracks'] = TrackShort.de_list(data.get('tracks'), client)
|
||||
data['play_counter'] = PlayCounter.de_json(data.get('play_counter'), client)
|
||||
data['playlist_absence'] = PlaylistAbsence.de_json(data.get('playlist_absense'), client) # очепятка яндуха
|
||||
|
||||
return cls(client=client, **data)
|
||||
|
||||
|
|
|
@ -0,0 +1,23 @@
|
|||
from yandex_music import YandexMusicObject
|
||||
|
||||
|
||||
class PlaylistAbsence(YandexMusicObject):
|
||||
def __init__(self,
|
||||
kind,
|
||||
reason,
|
||||
client=None,
|
||||
**kwargs):
|
||||
self.kind = kind
|
||||
self.reason = reason
|
||||
|
||||
self.client = client
|
||||
self._id_attrs = (self.kind, self.reason)
|
||||
|
||||
@classmethod
|
||||
def de_json(cls, data, client):
|
||||
if not data:
|
||||
return None
|
||||
|
||||
data = super(PlaylistAbsence, cls).de_json(data, client)
|
||||
|
||||
return cls(client=client, **data)
|
読み込み中…
新しいイシューから参照