Commit Graph
186 Commits
Author SHA1 Message Date
Jack Dane 97c9917a02 Use the playlist_items function to retrieve tracks.
* It will request the same endpoint as sp.next with the same fields for consistency.
2024-05-06 10:43:21 +01:00
Colin Wong d9a5f008ff Update CHANGELOG.md 2024-01-06 00:25:18 -06:00
chaisuptandHugo van Kemenade a14a28e10c Improve usability on README.md (#983)
* Update README.md

Improve usability of the README.md file

* Update CHANGELOG.md

change log following README changes

* Update CHANGELOG.md

* Update README.md

Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>

* Update README.md

Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>

* Update README.md

Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>

* Update README.md

Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>

* Update README.md

• Removed the License Section from the table of contents due to the new GitHub tab UI
• Updated link to not specify any specific version

* Update CHANGELOG.md

---------

Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
2023-12-29 15:50:13 +01:00
Dan Joseph 1416d47cba Audiobook Support and CI Workflow Update (#1036)
* Implement audiobook endpoints

* Update GitHub CI Workflow: Removed Python v2.7

* Update GitHub CI Workflow: Removed Python v3.6

* Add integration tests for audiobook endpoints
2023-10-31 01:32:46 +00:00
John Cheng f647ca75c2 update changelog 2023-05-26 19:51:59 -04:00
adhil0 d31969108d Update links in documentation (#969)
* updating links to Spotify documentation

* add changes to CHANGELOG.md
2023-05-02 22:26:40 +01:00
darwady2andStéphane Bruckert 3b6d14404e Updates the video link to a high definition video (#967)
* Updates the video link to a high definition video for setting the SPOTIPY_CLIENT_ID and SPOTIPY_CLIENT_SECRET values and authenticating. The old video was getting some complaints about people not being able to read the text (since it was low quality), so I've re-recorded it and replaced it with this new version.

* Adds changes to Chanelog

---------

Co-authored-by: Stéphane Bruckert <stephane.bruckert@gmail.com>
2023-04-24 13:21:19 +01:00
Stéphane Bruckert 796c03338f Bump to 2.23.0 (#959) 2023-04-07 18:36:17 +01:00
Stéphane Bruckert 3bac7250ec Publish to PyPI action (#958) 2023-04-07 12:33:32 +01:00
Beza Amare Amsalu b7baaabf74 fixed contributing.md (#955) 2023-03-30 18:12:41 +01:00
Richard Ngo-LamandStéphane Bruckert fe438c0432 Update search_markets method to apply the total parameter to all types, add tests (#901)
* Update search_markets method to apply the total parameter to all types, fixes #534

* Add integration tests for searching multiple types in multiple markets

* Update search_markets method to apply the total parameter to all types, add tests

---------

Co-authored-by: Stéphane Bruckert <stephane.bruckert@gmail.com>
2023-03-15 23:46:08 +00:00
Ludwig Johansson f2d23e2219 Fix regex to support detailed URI #947 (#949)
* Fix regex to support detailed URI as #947

* Added changes to changelog
2023-03-15 15:17:02 +00:00
Shawn Cruz b3f308d289 Add encoder_cls argument to CacheFileHandler (#941)
Fixes
2023-02-12 22:58:55 +00:00
Stephane Bruckert c53511bbbe Bump to 2.22.1 2023-01-23 19:00:55 +00:00
ShaderbugandStephane Bruckert b1db0b63d9 Merge pull request from GHSA-q764-g6fm-555v
* Improve URL and URI handling

* Back to SpotifyException for backward-compatibility

* fix copy paste typo

* TODO v3 comments

Co-authored-by: Stephane Bruckert <stephane.bruckert@gmail.com>
2023-01-23 18:50:07 +00:00
oliveraw 922d51df02 modified docstring for playlist_add_items to no longer accept IDs 2022-12-16 19:17:37 +00:00
Mason Stephenson edd3f29a2c Getting Started Clarifications and Example Code File (#904)
* added URI link to README getting started

* revised comment

* added alternate module installation instruction

* installation troubleshooting comment

* scope clarification comment

* added playlist_add_items.py to examples folder

* reformatted changelog edits

* Relocated added contributions to added section in Changelog

* removed unnecessary library installation instruction

* Clarified alternative installation instruction
2022-12-10 16:27:29 +00:00
Stephane Bruckert 1377879972 Update contributing.md 2022-12-10 16:02:03 +00:00
Stephane Bruckert 1e840b6526 Bump to 2.22.0 2022-12-10 15:31:47 +00:00
mattgader d2384c1c33 Add CODE_OF_CONDUCT.md (#897) 2022-12-10 14:22:45 +00:00
Kevin Sekuj 5201f58247 Add tests for global categories, releases, fix bugged tests (#893) 2022-11-26 09:29:53 +00:00
Stéphane Bruckert edcd322845 Pin Github Actions Runner to Ubuntu 20 for Py27 (#894) 2022-11-26 08:40:49 +00:00
Sean Park 6f56504c2c Update category tests to fix 1 failing and 1 error test results (#886)
* update category tests to fix 1 failing and 1 error test results

* update changelog
2022-11-13 10:42:25 +00:00
Stéphane Bruckert 1265d7b915 GHA integration tests (#876) 2022-11-01 21:57:40 +00:00
Stephane Bruckert 0c32cd74d9 Integration tests workflow 2022-11-01 21:26:01 +00:00
Stéphane Bruckert 9bf5e342c2 Add secrets to GHA workflow (#877) 2022-11-01 20:52:25 +00:00
Stephane Bruckert 5a7e5c5a43 Bump to 2.21.0, closes #836 2022-10-26 23:03:42 +01:00
Bruno Alla fd8f97d46a Add python 3.10 to GitHub Actions (#863) 2022-10-26 22:59:10 +01:00
Bryan Malyn 7fc08809f0 Add FlaskSessionCacheHandler (#833)
Updated examples/app.py
Updated CHANGELOG.md and appropriate docs.
2022-06-25 20:00:08 +01:00
Stephane Bruckert 7337bf9352 Fix readthedocs 2022-06-19 09:03:13 +01:00
Ian Rolph eab3c37b89 Updated documentation (#826)
* updated documentation

* updated changelog
2022-06-18 23:34:36 +01:00
dnlruizandStéphane Bruckert a4cfd83946 show_featured_artists.py and update publishing docs (#821)
* show_featured_artists.py and update publishing docs

* Don't update version

Co-authored-by: Stéphane Bruckert <contact@stephanebruckert.com>
2022-06-18 23:26:43 +01:00
ivyadam 5175f19851 Updated documentation about ISO-639 language codes and address issue #753 (#800)
* Updated references to ISO 639 standard to clarify that the ISO 639-1 alpha-2 standard is used.

* Added `market` parameter to `album` and `albums`

* fix formatting change
2022-06-18 23:18:59 +01:00
Mohammad Momeni 72a6cd9190 Fix text attribute for Response object (#811)
* Fix text attribute for Response object

* Add a changelog for the AttributeError PR
2022-06-18 23:17:58 +01:00
Stephane Bruckert c1a85f1469 Bump to 2.20.0, closes #806 2022-06-18 22:59:37 +01:00
Stéphane Bruckert 98f0f76238 Removed Python 3.5 and added Python 3.9 in Github Action (#831)
* Removed python3.5 from CI

* Add python 3.9
2022-06-18 22:56:42 +01:00
ENT8R 9a627e88f4 Simplify check for existing token (#765)
* Simplify check for existing token in RedisCacheHandler

* Update CHANGELOG.md
2022-01-03 19:33:13 +01:00
ENT8R 08411b9031 Allow to set custom key in RedisCacheHandler (#761)
* Allow to set custom key in RedisCacheHandler

* Update CHANGELOG.md

* Check for the existence of the key
2021-12-22 15:44:38 +01:00
Felix Cusson 0464f4f483 Remove query parameters from URI (#758)
* made _get_id take account of ? in URI

* corrected typo

* changes to _get_id explained
2021-12-17 22:20:47 +00:00
Takehisa Oyama 7d23fc3277 Add RedisCacheHandler (#747)
* add RedisCacheHandler

* add the explanation for customized chache handlers

* update the dependency and chengelog
2021-11-22 19:31:58 +00:00
Stephane Bruckert 48d04f343b Bump to 2.19.0 2021-08-12 11:27:26 +01:00
Stéphane Bruckert b80bfa5c52 Generate license (#699)
* Create LICENSE

* Delete LICENSE.md

* Update setup.py

* Update CHANGELOG.md
2021-06-28 20:54:42 +01:00
Peter SchornandStéphane Bruckert 06551cd055 Fallback on decoding error responses into string if decoding into JSON fails (#689)
* Fixed a bug in the initializers for the auth managers that produced a spurious warning message if you provide a cache handler and you set a value for the "SPOTIPY_CLIENT_USERNAME" environment variable.

* fixed a bug in _get_auth_response_local_server which occurs if you provide a state parameter and click cancel in the authorization dialog

* Fallback on decoding the error response body into text if decoding into JSON fails.

* Fall back on decoding oauth errors into text if decoding into JSON fails.

* Fixed unused `http_error` name in exeception clause.

* Updated CHANGELOG

Co-authored-by: Stéphane Bruckert <stephane.bruckert@gmail.com>
2021-06-19 15:59:02 +02:00
Varun Patil d0fc4425f7 Added DjangoSessionCacheHandler (#691)
* Added DjangoSessionCacheHandler

Added `DjangoSessionCacheHandler`, a cache handler that stores the token in the session framework provided by Django. Web apps using spotipy with Django can directly use this for cache handling.

* removed whitespaces
2021-06-19 15:57:36 +02:00
Peter Schorn c4f6a3fa4b Fixed a bug in the initializers for the auth managers that produced a spurious warning message if you provide a cache handler and you set a value for the "SPOTIPY_CLIENT_USERNAME" environment variable. (#674) 2021-04-19 20:17:54 +01:00
Peter Schorn 07915e21e5 Added MemoryCacheHandler (#670)
* Added `MemoryCacheHandler`, a cache handler that simply stores the token info in memory as an instance attribute of this class.

* Fixed a bug in `CacheFileHandler.__init__`: The documentation says that the username will be retrieved from the environment, but it wasn't.
2021-04-14 16:59:37 +01:00
Stephane Bruckert 36bdeb0a65 Bump to 2.18.0 2021-04-13 21:32:51 +01:00
Peter SchornandStéphane Bruckert 25f9df2dd5 Added new endpoints (#666)
* Added an exception clause that catches `FileNotFoundError` and logs a debug message in `SpotifyOAuth.get_cached_token`, `SpotifyPKCE.get_cached_token` and `SpotifyImplicitGrant.get_cached_token`.

* Changed docs for `auth` parameter of `Spotify.init` to `access token` instead of `authorization token`. In issue #599, a user confused the access token with the authorization code.

* Updated CHANGELOG.md

* Removed `FileNotFoundError` because it does not exist in python 2.7 (*sigh*) and replaced it with a call to `os.path.exists`.

* Replaced ` os.path.exists` with `error.errno == errno.ENOENT` to supress errors when the cache file does not exist.

* Changed docs for `search` to mention that you can provide multiple multiple types to search for. The query parameters of requests are now logged. Added log messages for when the access token and refresh tokens are retrieved and when they are refreshed. Other small grammar fixes.

* Removed duplicate word "multiple" from CHANGELOG

* * Fixed the bugs in `SpotifyOAuth.refresh_access_token` and `SpotifyPKCE.refresh_access_token` which raised the incorrect exception upon receiving an error response from the server. This addresses #645.
* Fixed a bug in `RequestHandler.do_GET` in which the non-existent `state` attribute of  `SpotifyOauthError` is accessed. This bug occurs when the user clicks "cancel" in the permissions dialog that opens in the browser.
* Cleaned up the documentation for `SpotifyClientCredentials.__init__`, `SpotifyOAuth.__init__`, and `SpotifyPKCE.__init__`.

* Removed unneeded import

* Added the following endpoints:
 `Spotify.current_user_saved_episodes` `Spotify.current_user_saved_episodes_add` `Spotify.current_user_saved_episodes_delete` `Spotify.current_user_saved_episodes_contains` `Spotify.available_markets`
 Added tests for the above endpoints.

* updated CHANGELOG

* Fixed flake8 issue

Co-authored-by: Stéphane Bruckert <stephane.bruckert@gmail.com>
2021-04-10 14:53:03 +01:00
Peter SchornandStéphane Bruckert dc89a00113 Added cache handler to SpotifyClientCredentials and fixed a bug in refresh tokens methods that raised the wrong exception (#655)
* Added an exception clause that catches `FileNotFoundError` and logs a debug message in `SpotifyOAuth.get_cached_token`, `SpotifyPKCE.get_cached_token` and `SpotifyImplicitGrant.get_cached_token`.

* Changed docs for `auth` parameter of `Spotify.init` to `access token` instead of `authorization token`. In issue #599, a user confused the access token with the authorization code.

* Updated CHANGELOG.md

* Removed `FileNotFoundError` because it does not exist in python 2.7 (*sigh*) and replaced it with a call to `os.path.exists`.

* Replaced ` os.path.exists` with `error.errno == errno.ENOENT` to supress errors when the cache file does not exist.

* Changed docs for `search` to mention that you can provide multiple multiple types to search for. The query parameters of requests are now logged. Added log messages for when the access token and refresh tokens are retrieved and when they are refreshed. Other small grammar fixes.

* Removed duplicate word "multiple" from CHANGELOG

* * Fixed the bugs in `SpotifyOAuth.refresh_access_token` and `SpotifyPKCE.refresh_access_token` which raised the incorrect exception upon receiving an error response from the server. This addresses #645.
* Fixed a bug in `RequestHandler.do_GET` in which the non-existent `state` attribute of  `SpotifyOauthError` is accessed. This bug occurs when the user clicks "cancel" in the permissions dialog that opens in the browser.
* Cleaned up the documentation for `SpotifyClientCredentials.__init__`, `SpotifyOAuth.__init__`, and `SpotifyPKCE.__init__`.

* Removed unneeded import

Co-authored-by: Stéphane Bruckert <stephane.bruckert@gmail.com>
2021-03-13 14:34:52 +01:00
Stephane Bruckert cb5c61881e Fix changelog 2021-03-04 21:18:44 +01:00