MarshalX / yandex-music-api

Неофициальная Python библиотека для работы с API сервиса Яндекс.Музыка
https://yandex-music.rtfd.io
GNU Lesser General Public License v3.0
953 stars 81 forks source link

fetch_lyrics_async ERROR #620

Closed Koddom closed 1 year ago

Koddom commented 1 year ago

Ошибка при получении текста песни Если у вас асинхронный клиент и вы попытаетесь получить текст песни, сработает исключение.

код

lyrics = await track.get_lyrics_async()
text = await lyrics.fetch_lyrics_async()

Ошибка

# RuntimeWarning: coroutine 'Request.retrieve' was never awaited
# return await self.client.request.retrieve(self.download_url).decode('UTF-8')
# RuntimeWarning: Enable tracemalloc to get the object allocation traceback

Решение Чуток изменить код метода

   async def fetch_lyrics_async(self) -> str:
        """Получает текст песни по ссылке :attr:`yandex_music.TrackLyrics.download_url`.

        Returns:
            :obj:`str`: Текст песни.
        """
        text = await self.client.request.retrieve(self.download_url)  # сначала дождаться выполнения корутины
        text = text.decode('UTF-8')  # затем применить метод

        return   text

Дополнительная информация Спасибо за ваш труд! Вы крутые ребята! "Зачем служить на флоте, если можно быть пиратом" ))) контакты: tg.me/koddom www.koddom.com

MarshalX commented 1 year ago

Спасибо!