Commit Graph

150 Commits

Author SHA1 Message Date
Paul Lamere ed06678353 Merge pull request #120 from hughrawlinson/patch-1
Add Audio-Analysis Endpoint Method
2016-12-31 10:21:06 -05:00
Paul Lamere fd35ddbeb7 Merge pull request #121 from squallcs12/add-me-playlists
add support /me/playlists method
2016-12-31 10:10:56 -05:00
Paul Lamere b48990f02a renamed me_playlists t
renamed me_playlists to current_user_playlists to match style of other 'me' endpoints
2016-12-31 10:10:22 -05:00
Paul Lamere 4966799c55 Merge pull request #122 from jotsif/market_for_tracks_call
Add market parameter to tracks() call
2016-12-31 09:54:12 -05:00
Paul Lamere 789e30fd4a Merge pull request #125 from alexey-v-paramonov/master
Added 'requests_timeout' option
2016-12-31 09:41:35 -05:00
Paul Lamere 6b774e9f48 Merge pull request #138 from nyanfly/master
Add Audio Analysis Endpoint Support
2016-12-31 09:32:14 -05:00
Nathan Coleman 655e1bf7e3 Add type check for name kwarg 2016-12-26 11:46:45 -06:00
Nathan Coleman 5ecfad1d3a Support optional collaborative kwarg 2016-12-26 11:32:28 -06:00
Nathan Coleman 7c5bfbdf86 Merge branch 'master' into support_changing_playlist_details 2016-12-26 10:25:49 -06:00
delucks 3587e107c0 Swap use of subprocess.call for webbrowser.open in util.py 2016-12-20 22:44:03 -08:00
Willie Zhu 6d67858e8c Add audio analysis API 2016-12-15 16:21:05 -05:00
Ben Tappin aecd392c4a Use 'Retry-After' header if present. 2016-12-11 19:01:00 +00:00
Stephen a97959c54e add follow playlist api call 2016-12-08 14:38:46 -05:00
Nathan Coleman 7867c4fe28 Merge branch 'master' into support_changing_playlist_details
Conflicts:
	spotipy/client.py
2016-11-15 12:43:35 -06:00
Alexey V Paramonov aae5f0ee80 Added 'requests_timeout' option to tell Requests to stop waiting for a response after a given number of seconds 2016-10-29 17:02:25 +03:00
steinitzu 1304ac33c0 Recommendations seeds parameters formatted as a comma seperated list to
comply with Spotify API. Fixes problem of only first
seed_artist/track/genre being used to generate recommendations.

Mltiple params in the form of "seed_artist=xxxx&seed_artists=yyyy"
results in Spotify API ignoring everything but the first parameter.
2016-10-24 12:19:08 -04:00
Josef Lindman Hörnlund 976b0d07e4 Add market parameter to tracks() call 2016-10-18 17:51:08 +02:00
Bang Dao 1f4189b1be add me_playlists method 2016-10-18 10:14:54 +07:00
Hugh Rawlinson 5e3cc1f546 Add Audio-Analysis Endpoint Method 2016-10-15 14:41:48 +02:00
Sebastian Bischoff 96e9d3b7df Added support for proxy 2016-08-23 16:48:49 +02:00
Nathan Coleman 931abce4d7 Merge branch 'master' into support_changing_playlist_details
Conflicts:
	spotipy/client.py
2016-08-22 21:29:52 -05:00
Luke Woloszyn ff7b0f3e2a get new access token ~60 seconds before old one times out 2016-07-27 08:10:45 -07:00
Johan Brodin 5860a5dc2c Added market parameter to user_playlist_tracks
According to https://developer.spotify.com/web-api/get-playlists-tracks/ this endpoints supports an market option. This is important to specify if you want to ensure 'preview_url' on your tracks (https://github.com/spotify/web-api/issues/148)
2016-06-09 09:42:51 +02:00
Nathan Coleman 80bcbb1893 Make a pass for cleanup and PEP8 compliance 2016-05-31 20:02:25 -04:00
Nathan Coleman 1fae780adb Support changing details for a user playlist 2016-05-31 20:02:06 -04:00
Christopher Li 70701d8387 Adjusted docstring for user_playlist_unfollow method 2016-05-22 19:05:22 -04:00
Christopher Li 2096d32a4e Added user_playlist_unfollow() method 2016-05-22 18:57:16 -04:00
eugenio412 83e42efa88 include refresh_access_token method to the library
in this way it's possible to refresh token even if it's not cached but saved somewhere else
2016-04-08 17:12:31 +02:00
Matt Kane 7472f41948 add recommendations endpoints 2016-03-30 15:08:34 -04:00
Paul Lamere dd021c4087 Added top lists support 2016-03-12 09:59:16 -05:00
Paul Lamere 4587a0771d Cleaning up some tests 2016-02-20 08:54:11 -05:00
Paul Lamere 9c0b872e86 Adapted to new audio_features response 2016-02-17 09:18:06 -05:00
Paul Lamere 38ea4b6910 better handling when missing json payload 2016-02-12 07:24:28 -05:00
Paul Lamere 550be583b7 better detection of empty json block 2016-02-12 06:30:45 -05:00
Paul Lamere 44bbfac8b7 Added category end points 2016-02-02 07:25:33 -05:00
Paul Lamere 365d3714bf checkpoint 2015-12-30 16:11:27 -05:00
myselfhimself 8de2591c18 Avoid unneeded token renewal when cached token's scope contains currently required scope
Before that there was a strict string comparision "cached scope" == "currently required scope". Added a scope subset detection method.
2015-12-02 20:56:44 +01:00
Paul Lamere 329ef5722b Added api to get current users followed artists 2015-08-10 09:17:14 -04:00
Mattia Maestrini ec638870ca Add 'market' parameter to the search endpoint 2015-08-05 18:52:38 +01:00
Paul Lamere 10cf88da90 Improved retry logic 2015-06-08 14:38:05 +02:00
Joona Hoikkala 660f34b343 Close the connection when done 2015-06-05 13:49:01 +03:00
Joona Hoikkala c944cc772f Fixes for the remaining base64 lib references 2015-06-05 13:17:58 +03:00
Joona Hoikkala a541b3bb81 Support both Python 2 & 3 base64 library 2015-06-05 13:12:36 +03:00
Ryan a3a68be7bc ascii decode in _refresh_access_token 2015-06-05 12:21:37 +03:00
Joona Hoikkala 1737a550d3 Fix for python 2 to use the safe raw_input() per default 2015-06-05 12:19:38 +03:00
Joona Hoikkala d6a14bc83d Urllib compatibility fix to support both python 2 & 3 2015-06-05 12:16:30 +03:00
Joona Hoikkala d08f7a82dc Support print() as function in Python 2 2015-06-05 12:14:13 +03:00
Joona Hoikkala f19682cc80 Fixed (byte)string handling when calling base64 lib 2015-06-05 12:11:06 +03:00
Joona Hoikkala 1f833afa45 Initial run of 2to3 2015-06-05 12:07:28 +03:00
jsundram 283c35f592 offset/limit only makes sense for album_tracks 2015-06-03 21:16:12 -07:00
jsundram bbed19fdaa Support for offset/limit with album/album_tracks API 2015-06-03 20:54:49 -07:00
Paul Lamere 0d2e173099 Fixed retry bug again 2015-04-28 07:17:10 -04:00
Paul Lamere cf75879a15 debugging retry logic 2015-04-28 06:38:35 -04:00
Paul Lamere b96fd5ca8d Fixed problem with retry support 2015-04-28 06:25:06 -04:00
Paul Lamere a78421a6e8 Added automatic retry logic for gets 2015-04-01 10:16:24 -04:00
Paul Lamere c8c44c1b28 Merge pull request #46 from fsahin/master
Implement client credentials flow
2015-04-01 10:14:57 -04:00
Faruk Sahin 8d4643c2e1 Add client credentials flow 2015-04-01 16:09:54 +02:00
jsteinb 04111e7dbe user_playlist_reorder_tracks 2015-03-30 06:25:16 -04:00
José Manuel Pérez ae71e89326 Add 'playlist' to the search endpoint documentation 2015-02-19 15:01:44 +01:00
Aarni Koskela 004ef98a2c Test Requests session functionality. 2015-01-03 20:26:35 +02:00
Aarni Koskela 62ced74126 Use Requests sessions for connection pooling.
This behavior is on by default but can be easily disabled.
2015-01-03 20:09:46 +02:00
Paul Lamere 6b9d28de01 Merge pull request #38 from mattduck/support-snapshot-id-param
Support "snapshot-id" param for DELETE endpoints
2014-12-02 07:26:05 +01:00
Matthew Duck c61e5c18ed Support "snapshot-id" param for DELETE endpoints 2014-12-02 00:18:30 +00:00
Matthew Duck 98ebb6a163 Fix remove_specific_occurrences function
user_playlist_remove_specific_occurrences_of_tracks is expecting a
different tracklist object to the one that is documented, causing a
"'dict' object has no attribute 'split'" error. Update it to expect the
correct format.
2014-12-01 23:30:16 +00:00
Paul Lamere 8adbfe6f6d Added playlist tracks method. Updated tests. 2014-11-15 07:20:11 -05:00
Paul Lamere 373218083f Added support for new_releases and featured_playlists endpoints. 2014-10-25 06:40:51 -04:00
Paul Lamere 9ba6cea623 Updated version numbers 2014-08-25 17:41:21 -04:00
Paul Lamere 8314091b80 Moved to spotipy at pypi 2014-08-25 17:30:31 -04:00
Paul Lamere 34f476d17f Clean up of examples 2014-08-22 13:48:31 -04:00
Paul Lamere b455d529f0 Doc improvements for readthedocs 2014-08-22 11:48:12 -04:00
Paul Lamere 20870ea3ed Documentation improvements 2014-08-22 11:00:29 -04:00
Paul Lamere 080786654a Improved oauth docs 2014-08-22 09:23:06 -04:00
Paul Lamere 0143b58837 Renamed spotipy to client to avoid confusion 2014-08-21 10:58:40 -04:00
Paul Lamere 9a3b5784b0 Fixed refresh token problem 2014-08-21 07:35:01 -04:00
Paul Lamere 4e70a2f7f3 Fixed up the packaging a bit 2014-08-20 16:28:47 -04:00
Paul Lamere f43faea723 Added authtests 2014-08-20 15:50:32 -04:00
Paul Lamere 7601aaab58 refacord to support playlist editing 2014-08-20 14:08:49 -04:00
Paul Lamere acd1e8b494 Merge pull request #16 from thelinmichael/add-yourmusic-contains-track-endpoint
Add support for checking if a user's Your Music library contains a track
2014-08-20 12:58:55 -04:00
Paul Lamere 358b578d9c moved util into the main package 2014-08-17 10:28:56 -04:00
Paul Lamere e35ef206d5 Moved util module into main package 2014-08-17 10:28:56 -04:00
Matthew Duck 72d13dd0a7 Fix user having to login after first token refresh
Fix issue where the get_cached_token method returns None instead of the
cached token object, meaning that users have to login again when the
initial token expires. The problem has two aspects:

- The first time the user calls get_cached_token after token
  expiration, the token is refreshed but the "new_token_info" object is
  not returned.

- The second time the user calls get_cached_token after token
  expiration, the scope check fails, because the refresh_access_token
  method didn't include the "scope" key when it cached the new
  token_info results.
2014-08-04 16:17:21 +01:00
Matthew Duck a6f096e3dc Add missing sys import 2014-07-30 17:36:21 +01:00
Michael Thelin a4e6fc5a39 Add support for checking if a user's Your Music library contains a track 2014-07-24 00:27:35 -04:00
Paul Lamere 1ebbac6de7 Documentation and support for Your Music methods 2014-07-23 10:29:40 -04:00
Paul Lamere 2d98c30d01 Added support for 'Your Music' tracks 2014-07-23 10:04:07 -04:00
Paul Lamere 1c1b84c1fa Added support for related artists 2014-07-07 17:25:19 +02:00
Paul Lamere 75a3779779 Don't use cached tokens when scope changes 2014-07-07 17:03:27 +02:00
Paul Lamere 803e338366 Addeded JSON error handling 2014-06-27 16:18:17 -04:00
Paul Lamere dde80bae6a Added example that gets a user's starred items 2014-06-21 18:19:04 -04:00
corycorycory f4e11ed170 Update __init__.py
user_playlist doesn't work with starred playlists, which pass an ID of None.

This will allow the user to pull data for starred playlists, which use the URI users/%s/starrred
2014-06-21 10:45:23 -05:00
Paul Lamere ceaa030468 Fixed album search test 2014-06-19 14:41:52 -04:00
Paul Lamere f0415e9de2 Added support for adding tracks to a playlist 2014-06-17 13:28:45 -04:00
Matt Dennewitz 1790309e65 added simplejson to installation requirements 2014-06-17 12:00:44 -05:00
Paul Lamere 4da11677c5 Packaging tweaks 2014-06-16 13:39:32 -04:00
Paul Lamere 95e2d354e1 Merge pull request #5 from fsahin/master
Add country parameter to artist_albums
2014-06-09 09:14:32 -04:00
Paul Lamere 539c9fb652 improved oauth examples 2014-05-23 07:19:16 -04:00
Faruk Sahin da1e009dfa Add country parameter to artist_albums
If country parameter is passed to artist_albums call, only
the albums available in the provided country will be returned
2014-05-20 14:54:58 +02:00
Paul Lamere 6ed7860b9d Added support for token caching and refresh 2014-05-20 08:30:48 -04:00
Paul Lamere 9988c98b2e Added paging support and example. 2014-05-19 06:49:08 -04:00
Paul Lamere 8dcaf7dba6 Repackaged for saner imports 2014-05-18 07:08:51 -04:00