feschukov / rhythmbox-plugin-yandex-music

Плагин для работы с музыкальным сервисом Яндекс.Музыка в Rhythmbox
GNU General Public License v3.0
187 stars 20 forks source link

yandex_music.exceptions.UnauthorizedError isn't handled #48

Closed uvlad7 closed 1 year ago

uvlad7 commented 1 year ago

I tried to use this plugin after a long time and I can't relogin

(03:18:07) [0x560078e7bed0] [YandexMusic.do_activate] yandex-music.py:37: Yandex.Music plugin activating
Traceback (most recent call last):
  File "/home/vladimir/.local/share/rhythmbox/plugins/yandex-music/yandex-music.py", line 29, in do_load
    if self.login_yandex():
  File "/home/vladimir/.local/share/rhythmbox/plugins/yandex-music/yandex-music.py", line 115, in login_yandex
    self.client = Client(token).init()
  File "/home/vladimir/.local/lib/python3.10/site-packages/yandex_music/client.py", line 70, in wrapper
    result = method(*args, **kwargs)
  File "/home/vladimir/.local/lib/python3.10/site-packages/yandex_music/client.py", line 156, in init
    self.me = self.account_status()
  File "/home/vladimir/.local/lib/python3.10/site-packages/yandex_music/client.py", line 70, in wrapper
    result = method(*args, **kwargs)
  File "/home/vladimir/.local/lib/python3.10/site-packages/yandex_music/client.py", line 175, in account_status
    result = self._request.get(url, *args, **kwargs)
  File "/home/vladimir/.local/lib/python3.10/site-packages/yandex_music/utils/request.py", line 263, in get
    result = self._request_wrapper(
  File "/home/vladimir/.local/lib/python3.10/site-packages/yandex_music/utils/request.py", line 231, in _request_wrapper
    raise UnauthorizedError(message)
yandex_music.exceptions.UnauthorizedError: {'name': 'session-expired', 'message': 'Your OAuth token is likely expired'} 
uvlad7 commented 1 year ago

I manages to fix it with self.settings.reset('token'), but it's not a convenient way

feschukov commented 1 year ago

Есть подобный issue https://github.com/feschukov/rhythmbox-plugin-yandex-music/issues/9, связанный с проблемой сброса токена. В первом комментарии указан способ сброса через терминал. На текущий момент не разработана кнопка сброса токена внутри приложения.

uvlad7 commented 12 months ago

@feschukov, думаю стоит добавить эту информацию в README, но вообще данное issue не столько про сброс токена, скольно про необработанное исключение UnauthorizedError, которое приводит к тому, что плагин просто не работает.