Commit Graph

124 Commits

Author SHA1 Message Date
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