def landing(self, blocks: str or list, timeout=None, *args, **kwargs): """Получение лендинг-страницы содержащий блоки с новыми релизами, чартами, плейлистами с новинками и т.д. Поддерживаемые типы блоков: personalplaylists, promotions, new-releases, new-playlists, mixes,c hart, artists, albums, playlists, play_contexts. Args: blocks (:obj:`str` | :obj:`list` из :obj:`str`): Блок или список блоков необходимых для выдачи. timeout (:obj:`int` | :obj:`float`, optional): Если это значение указано, используется как время ожидания ответа от сервера вместо указанного при создании пула. **kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос). Returns: :obj:`yandex_music.Landing`: Объекта класса :class:`yandex_music.Landing` представляющий лендинг-страницу, иначе :obj:`None`. Raises: :class:`yandex_music.YandexMusicError` """ url = f'{self.base_url}/landing3' result = self._request.get(url, {'blocks': blocks}, timeout=timeout, *args, **kwargs) return Landing.de_json(result, self)
def landing(self, blocks: str or list, timeout=None, *args, **kwargs): url = f'{self.base_url}/landing3' result = self._request.get(url, {'blocks': blocks}, timeout=timeout, *args, **kwargs) return Landing.de_json(result, self)
def test_de_json_all(self, client, block): json_dict = { 'pumpkin': self.pumpkin, 'content_id': self.content_id, 'blocks': [block.to_dict()] } landing = Landing.de_json(json_dict, client) assert landing.pumpkin == self.pumpkin assert landing.content_id == self.content_id assert landing.blocks == [block]
def test_de_json_none(self, client): assert Landing.de_json({}, client) is None