2021-02-01 21:02:08 +09:00
|
|
|
|
import os
|
|
|
|
|
|
|
|
|
|
from yandex_music import Client
|
|
|
|
|
from yandex_music.exceptions import YandexMusicError
|
|
|
|
|
from yandex_music.utils.request import Request
|
|
|
|
|
|
|
|
|
|
yandex_music_token = os.environ.get('YANDEX_MUSIC_TOKEN')
|
|
|
|
|
proxied_request = Request(proxy_url=os.environ.get('PROXY_URL'))
|
|
|
|
|
|
|
|
|
|
try:
|
|
|
|
|
if not yandex_music_token:
|
|
|
|
|
raise YandexMusicError()
|
|
|
|
|
|
|
|
|
|
# подключаемся без прокси для получения информации об аккаунте (доступно из других стран)
|
2022-02-20 02:59:53 +09:00
|
|
|
|
client = Client(yandex_music_token, request=Request()).init()
|
2021-02-01 21:02:08 +09:00
|
|
|
|
# проверяем отсутствие подписки у пользователя
|
|
|
|
|
if client.me and client.me.plus and not client.me.plus.has_plus:
|
|
|
|
|
# если подписки нет - пересоздаем клиент с использованием прокси
|
2022-02-20 02:59:53 +09:00
|
|
|
|
client = Client(yandex_music_token, request=proxied_request).init()
|
2021-02-01 21:02:08 +09:00
|
|
|
|
except YandexMusicError:
|
|
|
|
|
# если есть проблемы с авторизацией, токеном или чем-либо еще, то инициализируем клиент без авторизации
|
|
|
|
|
# так как сервисом можно пользоваться будучи гостем, но со своими ограничениями
|
2022-02-20 02:59:53 +09:00
|
|
|
|
client = Client(request=proxied_request)
|