diff --git a/yandex_music/album/album.py b/yandex_music/album/album.py index c9a4bfe..07a3209 100644 --- a/yandex_music/album/album.py +++ b/yandex_music/album/album.py @@ -1,6 +1,7 @@ from typing import Any, TYPE_CHECKING, Optional, List, Union from yandex_music import YandexMusicObject +from yandex_music.exceptions import YandexMusicError from yandex_music.utils import model if TYPE_CHECKING: @@ -117,6 +118,9 @@ class Album(YandexMusicObject): client: Optional['Client'] = None def __post_init__(self): + if self.error: + raise YandexMusicError(self.error) + self._id_attrs = (self.id,) def with_tracks(self, *args, **kwargs) -> Optional['Album']: diff --git a/yandex_music/artist/artist.py b/yandex_music/artist/artist.py index 02eab5e..1e22d3f 100644 --- a/yandex_music/artist/artist.py +++ b/yandex_music/artist/artist.py @@ -1,6 +1,7 @@ from typing import Any, TYPE_CHECKING, Optional, List, Union from yandex_music import YandexMusicObject +from yandex_music.exceptions import YandexMusicError from yandex_music.utils import model if TYPE_CHECKING: @@ -79,6 +80,9 @@ class Artist(YandexMusicObject): client: 'Client' = None def __post_init__(self): + if self.error: + raise YandexMusicError(self.error) + self._id_attrs = (self.id, self.name, self.cover) def download_og_image(self, filename: str, size: str = '200x200') -> None: diff --git a/yandex_music/cover.py b/yandex_music/cover.py index 6677d89..767f086 100644 --- a/yandex_music/cover.py +++ b/yandex_music/cover.py @@ -1,6 +1,7 @@ from typing import TYPE_CHECKING, Optional, List from yandex_music import YandexMusicObject +from yandex_music.exceptions import YandexMusicError from yandex_music.utils import model if TYPE_CHECKING: @@ -40,6 +41,9 @@ class Cover(YandexMusicObject): client: Optional['Client'] = None def __post_init__(self): + if self.error: + raise YandexMusicError(self.error) + self._id_attrs = (self.prefix, self.version, self.uri, self.items_uri) def download(self, filename: str, index: int = 0, size: str = '200x200') -> None: diff --git a/yandex_music/track/track.py b/yandex_music/track/track.py index aba42f7..6973b14 100644 --- a/yandex_music/track/track.py +++ b/yandex_music/track/track.py @@ -2,7 +2,7 @@ from typing import TYPE_CHECKING, Optional, List, Union from yandex_music import YandexMusicObject from yandex_music.utils import model -from yandex_music.exceptions import InvalidBitrateError +from yandex_music.exceptions import InvalidBitrateError, YandexMusicError if TYPE_CHECKING: from yandex_music import ( @@ -70,10 +70,10 @@ class Track(YandexMusicObject): preview_duration_ms (:obj:`int`, optional): TODO. available_full_without_permission (:obj:`bool`, optional): Доступен ли без подписки. version (:obj:`str`, optional): Версия. - remember_position (:obj:`bool`, optional): Если :obj:`True`, то запоминатся последняя позиция прослушивания, + remember_position (:obj:`bool`, optional): Если :obj:`True`, то запоминается последняя позиция прослушивания, иначе позиция не запоминается. background_video_uri (:obj:`str`, optional): Ссылка на видеошот. - short_description (:obj:`str`, optional): Краткое опсание эпизода подкаста. + short_description (:obj:`str`, optional): Краткое описание эпизода подкаста. is_suitable_for_children (:obj:`bool`, optional): Подходит ли для детей TODO. client (:obj:`yandex_music.Client`): Клиент Yandex Music. """ @@ -119,6 +119,9 @@ class Track(YandexMusicObject): client: Optional['Client'] = None def __post_init__(self): + if self.error: + raise YandexMusicError(self.error) + self.download_info = None self._id_attrs = (self.id,)