Feature issue 14 (#16)

* Добавлена возможность инициализации и работы с клиентом без авторизации (https://github.com/MarshalX/yandex-music-api/issues/14).
Авторизация через логин и пароль доступна через метод from_credentials у Client'a.
Многие поля в account стали необязательными в связи с поддержкой клиентов без авторизации.
Исправлен баг в request связанный с одинаковыми заголовками при разных объектах.
Обновлена документация к методам.

* Обновлена версия.

* Правки в README и псевдоним для https://github.com/MarshalX/yandex-music-api/issues/14

* Правки в README https://github.com/MarshalX/yandex-music-api/issues/14

* Правки в README https://github.com/MarshalX/yandex-music-api/issues/14
このコミットが含まれているのは:
Il'ya 2019-08-24 13:53:04 +03:00 committed by GitHub
コミット 62e4d66966
この署名に対応する既知のキーがデータベースに存在しません
GPGキーID: 4AEE18F83AFDEB23
2個のファイルの変更40行の追加13行の削除

ファイルの表示

@ -60,9 +60,11 @@
--------------------------------
Значения констант `CLIENT_ID и CLIENT_SECRET <https://github.com/MarshalX/yandex-music-api/blob/master/yandex_music/client.py#L11>`_
позаимствовано у официального приложения-клиента сервиса Яндекс.Музыка из магазина Microsoft Store. Так как API является
закрытым и используется только внутри компании Яндекс сейчас невозможно зарегистрировать своё собственное приложение на
`oauth.yandex.ru <https://oauth.yandex.ru/>`_, а следовательно, использовать свои значения констант.
позаимствовано у официального приложения-клиента сервиса Яндекс.Музыка из магазина
Microsoft Store. Так как API является закрытым и используется только внутри
компании Яндекс сейчас невозможно зарегистрировать своё собственное приложение на
`oauth.yandex.ru <https://oauth.yandex.ru/>`_, а следовательно, использовать свои
значения констант.
=========
Установка
@ -88,9 +90,18 @@
Начало работы
=============
Приступив к работе первом делом необходимо создать экземпляр клиента
введя данные для авторизации. Такими данными может служить OAuth токен или
логин с паролем.
Приступив к работе первым делом необходимо создать экземпляр клиента.
Инициализация клиента:
.. code:: python
from yandex_music.client import Client
client = Client()
Для доступа к своим личным данным следует авторизоваться.
Это можно осуществить через OAuth токен или логин с паролем.
Авторизация по логину и паролю:
@ -98,7 +109,7 @@
from yandex_music.client import Client
client = Client('example@yandex.com', 'password')
client = Client.from_credentials('example@yandex.com', 'password')
Авторизация по токену:
@ -107,6 +118,8 @@
from yandex_music.client import Client
client = Client.from_token('token')
# или
client = Client('token')
После успешного создания клиента Вы вольны в выборе необходимого метода
из API. Все они доступны у объекта класса Client. Подробнее в методах клиента
@ -118,7 +131,7 @@
from yandex_music.client import Client
client = Client('example@yandex.com', 'password')
client = Client.from_credentials('example@yandex.com', 'password')
client.users_likes_tracks()[0].track.download('example.mp3')
В примере выше клиент получает список треков которые были отмечены как
@ -136,9 +149,13 @@
from yandex_music.client import Client
client = Client('example@yandex.com', 'password')
client = Client()
client.tracks(['10994777:1193829', '40133452:5206873', '48966383:6693286', '51385674:7163467'])
В качестве ID трека выступает его уникальный номер и номер альбома.
Первым треком из примера является следующий трек:
music.yandex.ru/album/**1193829**/track/**10994777**
--------------------
Изучение по примерам
--------------------
@ -156,7 +173,8 @@
Логирование
-----------
Данная библиотека использует ``logging`` модуль. Чтобы настроить логирование на стандартный вывод, поместите
Данная библиотека использует ``logging`` модуль. Чтобы настроить логирование на
стандартный вывод, поместите
.. code:: python
@ -166,7 +184,8 @@
в начало вашего скрипта.
Вы также можете использовать логирование в вашем приложении, вызвав ``logging.getLogger()`` и установить уровень какой Вы хотите:
Вы также можете использовать логирование в вашем приложении, вызвав
``logging.getLogger()`` и установить уровень какой Вы хотите:
.. code:: python
@ -183,7 +202,8 @@
Документация
=============
Документация ``yandex-music-api`` находится в стадии написания и расположена на `readthedocs.io <https://yandex-music.readthedocs.io/>`_.
Документация ``yandex-music-api`` находится в стадии написания и расположена на
`readthedocs.io <https://yandex-music.readthedocs.io/>`_.
=============
Благодарность
@ -195,4 +215,9 @@
Лицензия
========
Вы можете копировать, распространять и модифицировать программное обеспечение при условии, что модификации описаны и лицензированы бесплатно в соответствии с `LGPL-3 <https://www.gnu.org/licenses/lgpl-3.0.html>`_. Произведения производных (включая модификации или что-либо статически связанное с библиотекой) могут распространяться только в соответствии с LGPL-3, но приложения, которые используют библиотеку, необязательно.
Вы можете копировать, распространять и модифицировать программное обеспечение
при условии, что модификации описаны и лицензированы бесплатно в соответствии
с `LGPL-3 <https://www.gnu.org/licenses/lgpl-3.0.html>`_. Произведения
производных (включая модификации или что-либо статически связанное с библиотекой)
могут распространяться только в соответствии с LGPL-3, но приложения, которые
используют библиотеку, необязательно.

ファイルの表示

@ -926,6 +926,8 @@ class Client(YandexMusicObject):
# camelCase псевдонимы
"""Псевдоним для :attr:`from_credentials`"""
fromCredentials = from_credentials
"""Псевдоним для :attr:`from_token`"""
fromToken = from_token
"""Псевдоним для :attr:`generate_token_by_username_and_password`"""