Giter VIP home page Giter VIP logo

marshalx / yandex-music-api Goto Github PK

View Code? Open in Web Editor NEW
873.0 27.0 80.0 1.52 MB

Неофициальная Python библиотека для работы с API сервиса Яндекс.Музыка

Home Page: https://yandex-music.rtfd.io

License: GNU Lesser General Public License v3.0

Python 99.97% Makefile 0.03%
python yandex yandex-music api library yandexmusic yandex-api async asyncio asynchronous

yandex-music-api's Issues

[Проблема] Не создается экземпляр клиента.

2019-07-13 02:25:07,855 - urllib3.connectionpool - DEBUG - Starting new HTTPS connection (1): oauth.yandex.ru:443
***/venv/lib/python3.7/site-packages/urllib3/connectionpool.py:851: InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
  InsecureRequestWarning)
2019-07-13 02:25:08,351 - urllib3.connectionpool - DEBUG - https://oauth.yandex.ru:443 "POST /token HTTP/1.1" 200 125
2019-07-13 02:25:08,364 - urllib3.connectionpool - DEBUG - Starting new HTTPS connection (1): api.music.yandex.net:443
***/venv/lib/python3.7/site-packages/urllib3/connectionpool.py:851: InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
  InsecureRequestWarning)
2019-07-13 02:25:09,168 - urllib3.connectionpool - DEBUG - https://api.music.yandex.net:443 "GET /account/status HTTP/1.1" 200 None
Traceback (most recent call last):
  File "***/PycharmProjects/RadioListener_CLI/listener.py", line 42, in <module>
    muscle = Client(db["username"], db["password"])
  File "***/venv/lib/python3.7/site-packages/yandex_music/client.py", line 67, in __init__
    self.account = self.account_status().account
  File "***/PycharmProjects/RadioListener_CLI/venv/lib/python3.7/site-packages/yandex_music/client.py", line 159, in account_status
    return Status.de_json(result, self)
  File "***/PycharmProjects/RadioListener_CLI/venv/lib/python3.7/site-packages/yandex_music/status/status.py", line 94, in de_json
    data['account'] = Account.de_json(data.get('account'), client)
  File "***/PycharmProjects/RadioListener_CLI/venv/lib/python3.7/site-packages/yandex_music/status/account.py", line 104, in de_json
    return cls(client=client, **data)
TypeError: __init__() missing 1 required positional argument: 'birthday'

Декоратор у методов Client'a сломал доку

После добавление декоратора логирования sphinx теперь не знает о настоящих сигнатурах методов. В гугле предлагают руками указать валидные сигнатуы в .rst файле. Мне этот способ не подходит. У других видел что работает и так. Надо найти как это сделать.

Папка с примерами пуста

Папка с примерами, содержит в себе только ReadMe и License. Может стоит туда что-нибудь добавить? Учитывая, что в основном ReadMe рекомендуется смотреть на эти самые примеры.

[Проблема] Не получается залогиниться по email:pasword

Вылезает следующая ошибка:

C:\ProgramData\Anaconda3\lib\site-packages\yandex_music\client.py in __init__(self, username, password, token, base_url, oauth_url, request)
     65             self.request.set_authorization(self.token)
     66 
---> 67         self.account = self.account_status().account
     68 
     69     @classmethod

C:\ProgramData\Anaconda3\lib\site-packages\yandex_music\client.py in account_status(self, timeout, *args, **kwargs)
    160         result = self._request.get(url, timeout=timeout, *args, **kwargs)
    161 
--> 162         return Status.de_json(result, self)
    163 
    164     def settings(self, timeout=None, *args, **kwargs):

C:\ProgramData\Anaconda3\lib\site-packages\yandex_music\status\status.py in de_json(cls, data, client)
     94         data['account'] = Account.de_json(data.get('account'), client)
     95         data['permissions'] = Permissions.de_json(data.get('permissions'), client)
---> 96         data['subscription'] = Subscription.de_json(data.get('subscription'), client)
     97         data['plus'] = Plus.de_json(data.get('plus'), client)
     98 

C:\ProgramData\Anaconda3\lib\site-packages\yandex_music\status\subscription.py in de_json(cls, data, client)
     58         data = super(Subscription, cls).de_json(data, client)
     59         from yandex_music import AutoRenewable
---> 60         data['auto_renewable'] = AutoRenewable.de_list(data.get('auto_renewable'), client)
     61 
     62         return cls(client=client, **data)

C:\ProgramData\Anaconda3\lib\site-packages\yandex_music\status\auto_renewable.py in de_list(cls, data, client)
     89         auto_renewables = list()
     90         for auto_renewable in data:
---> 91             auto_renewables.append(cls.de_json(auto_renewable, client))
     92 
     93         return auto_renewables

C:\ProgramData\Anaconda3\lib\site-packages\yandex_music\status\auto_renewable.py in de_json(cls, data, client)
     70         data['product'] = Product.de_json(data.get('product'), client)
     71 
---> 72         return cls(client=client, **data)
     73 
     74     @classmethod

TypeError: __init__() missing 1 required positional argument: 'order_id'

Сокращения

Всякие .like() и .dislike(), .add_to_playlist() у треков, альмобов, плейлистов и т.д. и т.п.

Необходимо сформировать список таких шорткатов.

Отсутствие метода brief-info у artists

Только что был замечен метод, который вызывается при переходе на артиста, например, из поисковой выдачи или просто списка артисов приложения "Яндекс.Музыка" из Microsoft Store.

Пример URL'a запроса: https://api.music.yandex.net/artists/1613497/brief-info
Ответ внушительный (огромная простыня json'a): https://codepaste.ml/28832948/

Если есть желание помочь - оберните этот метод, напишите класс(ы) для result'a (большинство уже готово).

Поддержка Я.Радио

Возможно ли сделать интерфейс, для получения и обновления списка треков какого-либо радио? Или же получения трека, который надо играть в данный момент?

Изменён путь к прямым ссылкам на mp3

Добрый день. Спасибо за Ваш труд, Илья.

Не могли бы Вы помочь в исправлении получения прямой ссылки на mp3? Теперь в пути

f'https://{host}/get-{self.codec}/randomTrash/{ts}{path}'

randomTrash изменён на генерируемое значение, но как его получить не совсем понятно :(

По старой маске 400-ая ошибка.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.