123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- from typing import TYPE_CHECKING, Optional
- from yandex_music import YandexMusicModel
- from yandex_music.utils import model
- if TYPE_CHECKING:
- from yandex_music import ClientType
- @model
- class UserSettings(YandexMusicModel):
- """Класс, представляющий настройки пользователя.
- Note:
- Доступные значения для поля `theme`: `white`, `black`.
- Доступные значения для полей `user_music_visibility` и `user_social_visibility`: `private`, `public`.
- Note:
- `promos_disabled`, `ads_disabled`, `rbt_disabled` устарели и не работают.
- `last_fm_scrobbling_enabled`, `facebook_scrobbling_enabled` выглядят устаревшими.
- Attributes:
- uid (:obj:`int`): Уникальный идентификатор пользователя.
- last_fm_scrobbling_enabled (:obj:`bool`): Скробблинг lastfm.
- shuffle_enabled (:obj:`bool`): Переключать треки в случайном порядке.
- volume_percents (:obj:`int`): Громкость звука в процентах.
- modified (:obj:`str`): Дата изменения настроек.
- facebook_scrobbling_enabled (:obj:`bool`): Скробблинг facebook.
- add_new_track_on_playlist_top (:obj:`bool`): Добавлять новые треки в начало плейлиста.
- user_music_visibility (:obj:`str`): Публичный доступ к моей фонотеке.
- user_social_visibility (:obj:`str`): Показывать соцсети на странице.
- rbt_disabled (:obj:`bool`): TODO (неиспользуемая фича).
- theme (:obj:`str`): Тема оформления.
- promos_disabled (:obj:`bool`): Не показывать рекламируемый контент).
- auto_play_radio (:obj:`bool`): Бесконечный поток музыки.
- sync_queue_enabled (:obj:`bool`): Синхронизация очередей между устройствами.
- ads_disabled (:obj:`bool`, optional): Не показывать рекламу.
- disk_enabled (:obj:`bool`, optional): TODO.
- show_disk_tracks_in_library (:obj:`bool`, optional): Показывать локальные треки в библиотеке.
- client (:obj:`yandex_music.Client`, optional): Клиент Yandex Music.
- """
- uid: int
- last_fm_scrobbling_enabled: bool
- shuffle_enabled: bool
- volume_percents: int
- modified: str
- facebook_scrobbling_enabled: bool
- add_new_track_on_playlist_top: bool
- user_music_visibility: str
- user_social_visibility: str
- rbt_disabled: bool
- theme: str
- promos_disabled: bool
- auto_play_radio: bool
- sync_queue_enabled: bool
- ads_disabled: Optional[bool] = None
- disk_enabled: Optional[bool] = None
- show_disk_tracks_in_library: Optional[bool] = None
- client: Optional['ClientType'] = None
- def __post_init__(self) -> None:
- self._id_attrs = (
- self.uid,
- self.last_fm_scrobbling_enabled,
- self.shuffle_enabled,
- self.volume_percents,
- self.modified,
- self.facebook_scrobbling_enabled,
- self.add_new_track_on_playlist_top,
- self.user_music_visibility,
- self.user_social_visibility,
- self.rbt_disabled,
- self.theme,
- self.promos_disabled,
- self.auto_play_radio,
- self.sync_queue_enabled,
- self.ads_disabled,
- self.disk_enabled,
- self.show_disk_tracks_in_library,
- )
|