Пример #1
0
    def test_de_json_all(self, client, shot_type):
        json_dict = {
            'cover_uri': self.cover_uri,
            'mds_url': self.mds_url,
            'shot_text': self.shot_text,
            'shot_type': shot_type.to_dict(),
        }
        shot_data = ShotData.de_json(json_dict, client)

        assert shot_data.cover_uri == self.cover_uri
        assert shot_data.mds_url == self.mds_url
        assert shot_data.shot_text == self.shot_text
        assert shot_data.shot_type == shot_type
Пример #2
0
    def de_json(cls, data: dict, client: 'Client') -> Optional['Shot']:
        """Десериализация объекта.

        Args:
            data (:obj:`dict`): Поля и значения десериализуемого объекта.
            client (:obj:`yandex_music.Client`, optional): Клиент Yandex Music.

        Returns:
            :obj:`yandex_music.Shot`: Шот от Алисы.
        """
        if not data:
            return None

        data = super(Shot, cls).de_json(data, client)
        from yandex_music import ShotData
        data['shot_data'] = ShotData.de_json(data.get('shot_data'), client)

        return cls(client=client, **data)
Пример #3
0
    def de_json(cls, data, client):
        """Десериализация объекта.

        Args:
            data (:obj:`dict`): Поля и значения десериализуемого объекта.
            client (:obj:`yandex_music.Client`): Объект класса :class:`yandex_music.Client`, представляющий клиент
                Yandex Music.

        Returns:
            :obj:`yandex_music.Shot`: Объект класса :class:`yandex_music.Shot`.
        """
        if not data:
            return None

        data = super(Shot, cls).de_json(data, client)
        from yandex_music import ShotData
        data['shot_data'] = ShotData.de_json(data.get('shot_data'), client)

        return cls(client=client, **data)
Пример #4
0
 def test_de_json_none(self, client):
     assert ShotData.de_json({}, client) is None