From 510b37bb3259e456c7d34607c3a5972ca4226d19 Mon Sep 17 00:00:00 2001 From: Marshal Date: Sat, 28 Dec 2019 14:38:59 +0300 Subject: [PATCH] =?UTF-8?q?=D0=A2=D0=B0=D0=B9=D0=BF=20=D1=85=D0=B8=D0=BD?= =?UTF-8?q?=D1=82=D1=8B=20=D0=B4=D0=BB=D1=8F=20Label,=20TrackPosition,=20A?= =?UTF-8?q?rtist,=20ArtistAlbums,=20ArtistTracks,=20BriefInfo,=20Counts,?= =?UTF-8?q?=20Description,=20Link,=20Ratings,=20Vinyl,=20AlbumEvent,=20Art?= =?UTF-8?q?istEvent,=20Day,=20Event,=20GeneratedPlaylist,=20TrackWithAds,?= =?UTF-8?q?=20Genre,=20Images,=20Title?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- yandex_music/album/label.py | 16 +++++++------- yandex_music/album/track_position.py | 2 +- yandex_music/artist/artist.py | 28 ++++++++++++------------- yandex_music/artist/artist_albums.py | 8 +++---- yandex_music/artist/artist_tracks.py | 8 +++---- yandex_music/artist/brief_info.py | 24 ++++++++++----------- yandex_music/artist/counts.py | 2 +- yandex_music/artist/description.py | 2 +- yandex_music/artist/link.py | 4 ++-- yandex_music/artist/ratings.py | 2 +- yandex_music/artist/vinyl.py | 4 ++-- yandex_music/feed/album_event.py | 10 ++++----- yandex_music/feed/artist_event.py | 12 +++++------ yandex_music/feed/day.py | 12 +++++------ yandex_music/feed/event.py | 12 +++++------ yandex_music/feed/generated_playlist.py | 8 +++---- yandex_music/feed/track_with_ads.py | 10 ++++----- yandex_music/genre/genre.py | 16 +++++++------- yandex_music/genre/images.py | 10 ++++----- yandex_music/genre/title.py | 6 +++--- 20 files changed, 98 insertions(+), 98 deletions(-) diff --git a/yandex_music/album/label.py b/yandex_music/album/label.py index f99f5f4..e56fd53 100644 --- a/yandex_music/album/label.py +++ b/yandex_music/album/label.py @@ -17,13 +17,13 @@ class Label(YandexMusicObject): Args: id_ (:obj:`int`): Идентификатор альбома. name (:obj:`str`): Название альбома. - client (:obj:`yandex_music.Client`, optional): Объект класса :class:`yandex_music.Client` представляющий клиент - Yandex Music. + client (:obj:`yandex_music.Client`, optional): Объект класса :class:`yandex_music.Client` представляющий + клиент Yandex Music. **kwargs: Произвольные ключевые аргументы полученные от API. """ def __init__(self, - id_, - name, + id_: int, + name: str, client: Optional['Client'] = None, **kwargs) -> None: self.id = id_ @@ -33,7 +33,7 @@ class Label(YandexMusicObject): self._id_attrs = (self.id, self.name) @classmethod - def de_json(cls, data: dict, client: 'Client'): + def de_json(cls, data: dict, client: 'Client') -> Optional['Label']: """Десериализация объекта. Args: @@ -51,13 +51,13 @@ class Label(YandexMusicObject): return cls(client=client, **data) @classmethod - def de_list(cls, data: dict, client: 'Client'): + def de_list(cls, data: dict, client: 'Client') -> List['Label']: """Десериализация списка объектов. Args: data (:obj:`list`): Список словарей с полями и значениями десериализуемого объекта. - client (:obj:`yandex_music.Client`): Объект класса :class:`yandex_music.Client` представляющий клиент Yandex - Music. + client (:obj:`yandex_music.Client`): Объект класса :class:`yandex_music.Client` представляющий клиент + Yandex Music. Returns: :obj:`list` из :obj:`yandex_music.Label`: Список объектов класса :class:`yandex_music.Label`. """ diff --git a/yandex_music/album/track_position.py b/yandex_music/album/track_position.py index 361ae25..cf13778 100644 --- a/yandex_music/album/track_position.py +++ b/yandex_music/album/track_position.py @@ -19,7 +19,7 @@ class TrackPosition(YandexMusicObject): self._id_attrs = (self.volume, self.index) @classmethod - def de_json(cls, data: dict, client: 'Client'): + def de_json(cls, data: dict, client: 'Client') -> Optional['TrackPosition']: if not data: return None diff --git a/yandex_music/artist/artist.py b/yandex_music/artist/artist.py index 0a3b2e8..2c029aa 100644 --- a/yandex_music/artist/artist.py +++ b/yandex_music/artist/artist.py @@ -1,7 +1,7 @@ from typing import TYPE_CHECKING, Optional, List if TYPE_CHECKING: - from yandex_music import Client + from yandex_music import Client, Cover, Ratings, Counts, Link, Track, Description, ArtistTracks, ArtistAlbums from yandex_music import YandexMusicObject @@ -10,23 +10,23 @@ class Artist(YandexMusicObject): def __init__(self, id_, name, - cover, + cover: Optional['Cover'], various=None, composer=None, genres=None, op_image=None, no_pictures_from_search=None, - counts=None, + counts: Optional['Counts'] = None, available=None, - ratings=None, - links=None, + ratings: Optional['Ratings'] = None, + links: List['Link'] = None, tickets_available=None, likes_count=None, - popular_tracks=None, + popular_tracks: List['Track'] = None, regions=None, decomposed=None, full_names=None, - description=None, + description: Optional['Description'] = None, countries=None, en_wikipedia_link=None, db_aliases=None, @@ -67,7 +67,7 @@ class Artist(YandexMusicObject): self.client = client self._id_attrs = (self.id, self.name, self.cover) - def download_op_image(self, filename, size='200x200'): + def download_op_image(self, filename: str, size: str = '200x200') -> None: """Загрузка обложки. Используйте это только когда нет self.cover! @@ -79,28 +79,28 @@ class Artist(YandexMusicObject): self.client.request.download(f'https://{self.op_image.replace("%%", size)}', filename) - def like(self, *args, **kwargs): + def like(self, *args, **kwargs) -> bool: """Сокращение для:: client.users_likes_artists_add(artist.id, user.id *args, **kwargs) """ return self.client.users_likes_artists_add(self.id, self.client.me.account.uid, *args, **kwargs) - def dislike(self, *args, **kwargs): + def dislike(self, *args, **kwargs) -> bool: """Сокращение для:: client.users_likes_artists_remove(artist.id, user.id *args, **kwargs) """ return self.client.users_likes_artists_remove(self.id, self.client.me.account.uid, *args, **kwargs) - def get_tracks(self, page=0, page_size=20, *args, **kwargs): + def get_tracks(self, page=0, page_size=20, *args, **kwargs) -> Optional['ArtistTracks']: """Сокращение для:: client.artists_tracks(artist.id, page, page_size, *args, **kwargs) """ return self.client.artists_tracks(self.id, page, page_size, *args, **kwargs) - def get_albums(self, page=0, page_size=20, sort_by='year', *args, **kwargs): + def get_albums(self, page=0, page_size=20, sort_by='year', *args, **kwargs) -> Optional['ArtistAlbums']: """Сокращение для:: client.artists_direct_albums(artist.id, page, page_size, sort_by, *args, **kwargs) @@ -108,7 +108,7 @@ class Artist(YandexMusicObject): return self.client.artists_direct_albums(self.id, page, page_size, sort_by, *args, **kwargs) @classmethod - def de_json(cls, data: dict, client: 'Client'): + def de_json(cls, data: dict, client: 'Client') -> Optional['Artist']: if not data: return None @@ -125,7 +125,7 @@ class Artist(YandexMusicObject): return cls(client=client, **data) @classmethod - def de_list(cls, data: dict, client: 'Client'): + def de_list(cls, data: dict, client: 'Client') -> List['Artist']: if not data: return [] diff --git a/yandex_music/artist/artist_albums.py b/yandex_music/artist/artist_albums.py index 5b68f9d..6805614 100644 --- a/yandex_music/artist/artist_albums.py +++ b/yandex_music/artist/artist_albums.py @@ -1,7 +1,7 @@ from typing import TYPE_CHECKING, Optional, List if TYPE_CHECKING: - from yandex_music import Client + from yandex_music import Client, Album, Pager from yandex_music import YandexMusicObject @@ -24,8 +24,8 @@ class ArtistAlbums(YandexMusicObject): """ def __init__(self, - albums, - pager, + albums: List['Album'], + pager: Optional['Pager'], client: Optional['Client'] = None, **kwargs) -> None: self.albums = albums @@ -35,7 +35,7 @@ class ArtistAlbums(YandexMusicObject): self._id_attrs = (self.pager, self.albums) @classmethod - def de_json(cls, data: dict, client: 'Client'): + def de_json(cls, data: dict, client: 'Client') -> Optional['ArtistAlbums']: """Десериализация объекта. Args: diff --git a/yandex_music/artist/artist_tracks.py b/yandex_music/artist/artist_tracks.py index b9b7e66..cee4966 100644 --- a/yandex_music/artist/artist_tracks.py +++ b/yandex_music/artist/artist_tracks.py @@ -1,7 +1,7 @@ from typing import TYPE_CHECKING, Optional, List if TYPE_CHECKING: - from yandex_music import Client + from yandex_music import Client, Track, Pager from yandex_music import YandexMusicObject @@ -24,8 +24,8 @@ class ArtistTracks(YandexMusicObject): """ def __init__(self, - tracks, - pager, + tracks: List['Track'], + pager: Optional['Pager'], client: Optional['Client'] = None, **kwargs) -> None: self.tracks = tracks @@ -35,7 +35,7 @@ class ArtistTracks(YandexMusicObject): self._id_attrs = (self.pager, self.tracks) @classmethod - def de_json(cls, data: dict, client: 'Client'): + def de_json(cls, data: dict, client: 'Client') -> Optional['ArtistTracks']: """Десериализация объекта. Args: diff --git a/yandex_music/artist/brief_info.py b/yandex_music/artist/brief_info.py index da5a455..396c935 100644 --- a/yandex_music/artist/brief_info.py +++ b/yandex_music/artist/brief_info.py @@ -1,26 +1,26 @@ from typing import TYPE_CHECKING, Optional, List if TYPE_CHECKING: - from yandex_music import Client + from yandex_music import Client, Artist, Track, Album, Cover, PlaylistId, Video, Chart, Vinyl from yandex_music import YandexMusicObject class BriefInfo(YandexMusicObject): def __init__(self, - artist, - albums, - also_albums, + artist: Optional['Artist'], + albums: List['Album'], + also_albums: List['Album'], last_release_ids, - popular_tracks, - similar_artists, - all_covers, + popular_tracks: List['Track'], + similar_artists: List['Artist'], + all_covers: List['Cover'], concerts, - videos, - vinyls, + videos: List['Video'], + vinyls: List['Vinyl'], has_promotions, - playlist_ids, - tracks_in_chart=None, + playlist_ids: List['PlaylistId'], + tracks_in_chart: List['Chart'] = None, client: Optional['Client'] = None, **kwargs) -> None: self.artist = artist @@ -44,7 +44,7 @@ class BriefInfo(YandexMusicObject): self.has_promotions, self.playlist_ids) @classmethod - def de_json(cls, data: dict, client: 'Client'): + def de_json(cls, data: dict, client: 'Client') -> Optional['BriefInfo']: """Десериализация объекта. Args: diff --git a/yandex_music/artist/counts.py b/yandex_music/artist/counts.py index 098b789..42a6b25 100644 --- a/yandex_music/artist/counts.py +++ b/yandex_music/artist/counts.py @@ -23,7 +23,7 @@ class Counts(YandexMusicObject): self._id_attrs = (self.tracks, self.direct_albums, self.also_albums, self.also_tracks) @classmethod - def de_json(cls, data: dict, client: 'Client'): + def de_json(cls, data: dict, client: 'Client') -> Optional['Counts']: if not data: return None diff --git a/yandex_music/artist/description.py b/yandex_music/artist/description.py index deef362..e586998 100644 --- a/yandex_music/artist/description.py +++ b/yandex_music/artist/description.py @@ -19,7 +19,7 @@ class Description(YandexMusicObject): self._id_attrs = (self.text, self.url) @classmethod - def de_json(cls, data: dict, client: 'Client'): + def de_json(cls, data: dict, client: 'Client') -> Optional['Description']: """Десериализация объекта. Args: diff --git a/yandex_music/artist/link.py b/yandex_music/artist/link.py index c2aec6c..6a5f94d 100644 --- a/yandex_music/artist/link.py +++ b/yandex_music/artist/link.py @@ -24,7 +24,7 @@ class Link(YandexMusicObject): self._id_attrs = (self.title, self.href, self.type) @classmethod - def de_json(cls, data: dict, client: 'Client'): + def de_json(cls, data: dict, client: 'Client') -> Optional['Link']: if not data: return None @@ -33,7 +33,7 @@ class Link(YandexMusicObject): return cls(client=client, **data) @classmethod - def de_list(cls, data: dict, client: 'Client'): + def de_list(cls, data: dict, client: 'Client') -> List['Link']: if not data: return [] diff --git a/yandex_music/artist/ratings.py b/yandex_music/artist/ratings.py index 4a37aea..efee35d 100644 --- a/yandex_music/artist/ratings.py +++ b/yandex_music/artist/ratings.py @@ -22,7 +22,7 @@ class Ratings(YandexMusicObject): self._id_attrs = (self.week, self.month) @classmethod - def de_json(cls, data: dict, client: 'Client'): + def de_json(cls, data: dict, client: 'Client') -> Optional['Ratings']: if not data: return None diff --git a/yandex_music/artist/vinyl.py b/yandex_music/artist/vinyl.py index cfcf913..b61f553 100644 --- a/yandex_music/artist/vinyl.py +++ b/yandex_music/artist/vinyl.py @@ -27,7 +27,7 @@ class Vinyl(YandexMusicObject): self._id_attrs = (self.title, self.price, self.year, self.url, self.price, self.media) @classmethod - def de_json(cls, data: dict, client: 'Client'): + def de_json(cls, data: dict, client: 'Client') -> Optional['Vinyl']: """Десериализация объекта. Args: @@ -47,7 +47,7 @@ class Vinyl(YandexMusicObject): return cls(client=client, **data) @classmethod - def de_list(cls, data: dict, client: 'Client'): + def de_list(cls, data: dict, client: 'Client') -> List['Vinyl']: """Десериализация списка объектов. Args: diff --git a/yandex_music/feed/album_event.py b/yandex_music/feed/album_event.py index 300d439..caaca4d 100644 --- a/yandex_music/feed/album_event.py +++ b/yandex_music/feed/album_event.py @@ -1,15 +1,15 @@ from typing import TYPE_CHECKING, Optional, List if TYPE_CHECKING: - from yandex_music import Client + from yandex_music import Client, Album, Track from yandex_music import YandexMusicObject class AlbumEvent(YandexMusicObject): def __init__(self, - album, - tracks, + album: Optional['Album'], + tracks: List['Track'], client: Optional['Client'] = None, **kwargs) -> None: self.album = album @@ -19,7 +19,7 @@ class AlbumEvent(YandexMusicObject): self._id_attrs = (self.album, self.tracks) @classmethod - def de_json(cls, data: dict, client: 'Client'): + def de_json(cls, data: dict, client: 'Client') -> Optional['AlbumEvent']: if not data: return None @@ -31,7 +31,7 @@ class AlbumEvent(YandexMusicObject): return cls(client=client, **data) @classmethod - def de_list(cls, data: dict, client: 'Client'): + def de_list(cls, data: dict, client: 'Client') -> List['AlbumEvent']: if not data: return [] diff --git a/yandex_music/feed/artist_event.py b/yandex_music/feed/artist_event.py index 8553223..cbe6652 100644 --- a/yandex_music/feed/artist_event.py +++ b/yandex_music/feed/artist_event.py @@ -1,16 +1,16 @@ from typing import TYPE_CHECKING, Optional, List if TYPE_CHECKING: - from yandex_music import Client + from yandex_music import Client, Artist, Track from yandex_music import YandexMusicObject class ArtistEvent(YandexMusicObject): def __init__(self, - artist, - tracks, - similar_to_artists_from_history, + artist: Optional['Artist'], + tracks: List['Track'], + similar_to_artists_from_history: List['Artist'], client: Optional['Client'] = None, **kwargs) -> None: self.artist = artist @@ -21,7 +21,7 @@ class ArtistEvent(YandexMusicObject): self._id_attrs = (self.artist, self.tracks, self.similar_to_artists_from_history) @classmethod - def de_json(cls, data: dict, client: 'Client'): + def de_json(cls, data: dict, client: 'Client') -> Optional['ArtistEvent']: if not data: return None @@ -34,7 +34,7 @@ class ArtistEvent(YandexMusicObject): return cls(client=client, **data) @classmethod - def de_list(cls, data: dict, client: 'Client'): + def de_list(cls, data: dict, client: 'Client') -> List['ArtistEvent']: if not data: return [] diff --git a/yandex_music/feed/day.py b/yandex_music/feed/day.py index c4ce157..0c9be4a 100644 --- a/yandex_music/feed/day.py +++ b/yandex_music/feed/day.py @@ -1,7 +1,7 @@ from typing import TYPE_CHECKING, Optional, List if TYPE_CHECKING: - from yandex_music import Client + from yandex_music import Client, Event, Track, TrackWithAds from yandex_music import YandexMusicObject @@ -9,9 +9,9 @@ from yandex_music import YandexMusicObject class Day(YandexMusicObject): def __init__(self, day, - events, - tracks_to_play_with_ads, - tracks_to_play, + events: List['Event'], + tracks_to_play_with_ads: List['TrackWithAds'], + tracks_to_play: List['Track'], client: Optional['Client'] = None, **kwargs) -> None: self.day = day @@ -23,7 +23,7 @@ class Day(YandexMusicObject): self._id_attrs = (self.day, self.events, self.tracks_to_play_with_ads, self.tracks_to_play) @classmethod - def de_json(cls, data: dict, client: 'Client'): + def de_json(cls, data: dict, client: 'Client') -> Optional['Day']: if not data: return None @@ -36,7 +36,7 @@ class Day(YandexMusicObject): return cls(client=client, **data) @classmethod - def de_list(cls, data: dict, client: 'Client'): + def de_list(cls, data: dict, client: 'Client') -> List['Day']: if not data: return [] diff --git a/yandex_music/feed/event.py b/yandex_music/feed/event.py index 842b244..75f3815 100644 --- a/yandex_music/feed/event.py +++ b/yandex_music/feed/event.py @@ -1,7 +1,7 @@ from typing import TYPE_CHECKING, Optional, List if TYPE_CHECKING: - from yandex_music import Client + from yandex_music import Client, Track, AlbumEvent, ArtistEvent from yandex_music import YandexMusicObject @@ -12,9 +12,9 @@ class Event(YandexMusicObject): type_, type_for_from=None, title=None, - tracks=None, - artists=None, - albums=None, + tracks: List['Track'] = None, + artists: List['ArtistEvent'] = None, + albums: List['AlbumEvent'] = None, message=None, device=None, tracks_count=None, @@ -36,7 +36,7 @@ class Event(YandexMusicObject): self._id_attrs = (self.id, self.type) @classmethod - def de_json(cls, data: dict, client: 'Client'): + def de_json(cls, data: dict, client: 'Client') -> Optional['Event']: if not data: return None @@ -49,7 +49,7 @@ class Event(YandexMusicObject): return cls(client=client, **data) @classmethod - def de_list(cls, data: dict, client: 'Client'): + def de_list(cls, data: dict, client: 'Client') -> List['Event']: if not data: return [] diff --git a/yandex_music/feed/generated_playlist.py b/yandex_music/feed/generated_playlist.py index dcd5b12..03d373a 100644 --- a/yandex_music/feed/generated_playlist.py +++ b/yandex_music/feed/generated_playlist.py @@ -1,7 +1,7 @@ from typing import TYPE_CHECKING, Optional, List if TYPE_CHECKING: - from yandex_music import Client + from yandex_music import Client, Playlist from yandex_music import YandexMusicObject @@ -11,7 +11,7 @@ class GeneratedPlaylist(YandexMusicObject): type_, ready, notify, - data, + data: Optional['Playlist'], client: Optional['Client'] = None, **kwargs) -> None: self.type = type_ @@ -23,7 +23,7 @@ class GeneratedPlaylist(YandexMusicObject): self._id_attrs = (self.type, self.ready, self.notify, self.data) @classmethod - def de_json(cls, data: dict, client: 'Client'): + def de_json(cls, data: dict, client: 'Client') -> Optional['GeneratedPlaylist']: if not data: return None @@ -34,7 +34,7 @@ class GeneratedPlaylist(YandexMusicObject): return cls(client=client, **data) @classmethod - def de_list(cls, data: dict, client: 'Client'): + def de_list(cls, data: dict, client: 'Client') -> List['GeneratedPlaylist']: if not data: return [] diff --git a/yandex_music/feed/track_with_ads.py b/yandex_music/feed/track_with_ads.py index 01d7e7f..cd75412 100644 --- a/yandex_music/feed/track_with_ads.py +++ b/yandex_music/feed/track_with_ads.py @@ -1,15 +1,15 @@ from typing import TYPE_CHECKING, Optional, List if TYPE_CHECKING: - from yandex_music import Client + from yandex_music import Client, Track from yandex_music import YandexMusicObject class TrackWithAds(YandexMusicObject): def __init__(self, - type_, - track, + type_: str, + track: Optional['Track'], client: Optional['Client'] = None, **kwargs) -> None: self.type = type_ @@ -19,7 +19,7 @@ class TrackWithAds(YandexMusicObject): self._id_attrs = (self.type, self.track) @classmethod - def de_json(cls, data: dict, client: 'Client'): + def de_json(cls, data: dict, client: 'Client') -> Optional['TrackWithAds']: if not data: return None @@ -30,7 +30,7 @@ class TrackWithAds(YandexMusicObject): return cls(client=client, **data) @classmethod - def de_list(cls, data: dict, client: 'Client'): + def de_list(cls, data: dict, client: 'Client') -> List['TrackWithAds']: if not data: return [] diff --git a/yandex_music/genre/genre.py b/yandex_music/genre/genre.py index fcc7569..2ba7772 100644 --- a/yandex_music/genre/genre.py +++ b/yandex_music/genre/genre.py @@ -1,7 +1,7 @@ -from typing import TYPE_CHECKING, Optional, List +from typing import TYPE_CHECKING, Optional, List, Dict if TYPE_CHECKING: - from yandex_music import Client + from yandex_music import Client, Title, Icon, Images from yandex_music import YandexMusicObject @@ -12,14 +12,14 @@ class Genre(YandexMusicObject): weight, composer_top, title, - titles, - images, + titles: Dict[str, Optional['Title']], + images: Optional['Images'], show_in_menu, full_title=None, url_part=None, color=None, - radio_icon=None, - sub_genres=None, + radio_icon: Optional['Icon'] = None, + sub_genres: List['Genre'] = None, hide_in_regions=None, client: Optional['Client'] = None, **kwargs) -> None: @@ -42,7 +42,7 @@ class Genre(YandexMusicObject): self._id_attrs = (self.id, self.weight, self.composer_top, self.title, self.images, self.show_in_menu) @classmethod - def de_json(cls, data: dict, client: 'Client'): + def de_json(cls, data: dict, client: 'Client') -> Optional['Genre']: if not data: return None @@ -56,7 +56,7 @@ class Genre(YandexMusicObject): return cls(client=client, **data) @classmethod - def de_list(cls, data: dict, client: 'Client'): + def de_list(cls, data: dict, client: 'Client') -> List['Genre']: if not data: return [] diff --git a/yandex_music/genre/images.py b/yandex_music/genre/images.py index 1a73017..e8c328c 100644 --- a/yandex_music/genre/images.py +++ b/yandex_music/genre/images.py @@ -8,8 +8,8 @@ from yandex_music import YandexMusicObject class Images(YandexMusicObject): def __init__(self, - _208x208=None, - _300x300=None, + _208x208: Optional[str] = None, + _300x300: Optional[str] = None, client: Optional['Client'] = None, **kwargs) -> None: self._208x208 = _208x208 @@ -17,7 +17,7 @@ class Images(YandexMusicObject): self.client = client - def download_208x208(self, filename): + def download_208x208(self, filename: str) -> None: """Загрузка изображения 208x208. Args: @@ -26,7 +26,7 @@ class Images(YandexMusicObject): self.client.request.download(self._208x208, filename) - def download_300x300(self, filename): + def download_300x300(self, filename: str) -> None: """Загрузка изображения 300x300. Args: @@ -36,7 +36,7 @@ class Images(YandexMusicObject): self.client.request.download(self._300x300, filename) @classmethod - def de_json(cls, data: dict, client: 'Client'): + def de_json(cls, data: dict, client: 'Client') -> Optional['Images']: if not data: return None diff --git a/yandex_music/genre/title.py b/yandex_music/genre/title.py index c269297..7bac374 100644 --- a/yandex_music/genre/title.py +++ b/yandex_music/genre/title.py @@ -1,4 +1,4 @@ -from typing import TYPE_CHECKING, Optional +from typing import TYPE_CHECKING, Optional, Dict if TYPE_CHECKING: from yandex_music import Client @@ -19,7 +19,7 @@ class Title(YandexMusicObject): self._id_attrs = (self.title, self.full_title) @classmethod - def de_json(cls, data: dict, client: 'Client'): + def de_json(cls, data: dict, client: 'Client') -> Optional['Title']: if not data: return None @@ -28,7 +28,7 @@ class Title(YandexMusicObject): return cls(client=client, **data) @classmethod - def de_dict(cls, data, client): + def de_dict(cls, data, client) -> Dict[str, Optional['Title']]: if not data: return {}