proxy.py 1.3 KB

123456789101112131415161718192021222324
  1. import os
  2. from yandex_music import Client
  3. from yandex_music.exceptions import YandexMusicError
  4. from yandex_music.utils.request import Request
  5. yandex_music_token = os.environ.get('YANDEX_MUSIC_TOKEN')
  6. proxied_request = Request(proxy_url=os.environ.get('PROXY_URL'))
  7. try:
  8. if not yandex_music_token:
  9. raise YandexMusicError
  10. # подключаемся без прокси для получения информации об аккаунте (доступно из других стран)
  11. client = Client(yandex_music_token, request=Request()).init()
  12. # проверяем отсутствие подписки у пользователя
  13. if client.me and client.me.plus and not client.me.plus.has_plus:
  14. # если подписки нет - пересоздаем клиент с использованием прокси
  15. client = Client(yandex_music_token, request=proxied_request).init()
  16. except YandexMusicError:
  17. # если есть проблемы с авторизацией, токеном или чем-либо еще, то инициализируем клиент без авторизации
  18. # так как сервисом можно пользоваться будучи гостем, но со своими ограничениями
  19. client = Client(request=proxied_request)