14
0
Files
python-spotipy/python-spotipy.spec

69 lines
2.0 KiB
RPMSpec
Raw Normal View History

#
# spec file for package python-spotipy
#
Accepting request 970741 from home:pgajdos:python - version update to 2.19.0 ## [2.19.0] - 2021-08-12 ### Added * Added `MemoryCacheHandler`, a cache handler that simply stores the token info in memory as an instance attribute of this class. * If a network request returns an error status code but the response body cannot be decoded into JSON, then fall back on decoding the body into a string. * 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. ### Fixed * Fixed a bug in `CacheFileHandler.__init__`: The documentation says that the username will be retrieved from the environment, but it wasn't. * 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. * Use generated MIT license and fix license type in `pip show` ## [2.18.0] - 2021-04-13 ### Added - Enabled using both short and long IDs for playlist_change_details - Added a cache handler to `SpotifyClientCredentials` - 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` ### Changed - Add support for a list of scopes rather than just a comma separated string of scopes ### Fixed * 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__`. ## [2.17.0] - 2021-02-28 ### Changed - moved os.remove(session_cache_path()) inside try block to avoid TypeError on app.py example file - A warning will no longer be emitted when the cache file does not exist at the specified path OBS-URL: https://build.opensuse.org/request/show/970741 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-spotipy?expand=0&rev=16
2022-04-19 12:05:01 +00:00
# Copyright (c) 2022 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-spotipy
Accepting request 970741 from home:pgajdos:python - version update to 2.19.0 ## [2.19.0] - 2021-08-12 ### Added * Added `MemoryCacheHandler`, a cache handler that simply stores the token info in memory as an instance attribute of this class. * If a network request returns an error status code but the response body cannot be decoded into JSON, then fall back on decoding the body into a string. * 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. ### Fixed * Fixed a bug in `CacheFileHandler.__init__`: The documentation says that the username will be retrieved from the environment, but it wasn't. * 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. * Use generated MIT license and fix license type in `pip show` ## [2.18.0] - 2021-04-13 ### Added - Enabled using both short and long IDs for playlist_change_details - Added a cache handler to `SpotifyClientCredentials` - 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` ### Changed - Add support for a list of scopes rather than just a comma separated string of scopes ### Fixed * 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__`. ## [2.17.0] - 2021-02-28 ### Changed - moved os.remove(session_cache_path()) inside try block to avoid TypeError on app.py example file - A warning will no longer be emitted when the cache file does not exist at the specified path OBS-URL: https://build.opensuse.org/request/show/970741 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-spotipy?expand=0&rev=16
2022-04-19 12:05:01 +00:00
Version: 2.19.0
Release: 0
Summary: Client for the Spotify Web API
License: MIT
Accepting request 785943 from home:pgajdos:python - version update to 2.9.0 * Support `position_ms` optional parameter in `start_playback` * Add `requests_timeout` parameter to authentication methods * Make cache optional in `get_access_token` * Support for `playlist_cover_image` * Support `after` and `before` parameter in `current_user_recently_played` * CI for unit tests * Automatic `token` refresh * `auth_manager` and `oauth_manager` optional parameters added to `Spotify`'s init. * Optional `username` parameter to be passed to `SpotifyOAuth`, to infer a `cache_path` automatically * Optional `as_dict` parameter to control `SpotifyOAuth`'s `get_access_token` output type. However, this is going to be deprecated in the future, and the method will always return a token string * Optional `show_dialog` parameter to be passed to `SpotifyOAuth` * Both `SpotifyClientCredentials` and `SpotifyOAuth` inherit from a common `SpotifyAuthBase` which handles common parameters and logics. * Support for `playlist_tracks` * Support for `playlist_upload_cover_image` * `user_playlist_tracks` doesn't require a user anymore (accepts `None`) * Deprecated `user_playlist` and `user_playlist_tracks` * Fixed broken examples in README, examples and doc * Allow session keepalive * Bump requests to 2.20.0 * Fixed inconsistent behaviour with some API methods when a full HTTP URL is passed. * Fixed invalid calls to logging warn method * Support for `playlist` to get a playlist without specifying a user * Support for `current_user_saved_albums_delete` * Support for `current_user_saved_albums_contains` * Support for `user_unfollow_artists` * Support for `user_unfollow_users` * Added follow and player endpoints OBS-URL: https://build.opensuse.org/request/show/785943 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-spotipy?expand=0&rev=8
2020-03-17 14:11:54 +00:00
URL: https://spotipy.readthedocs.org/
# https://github.com/plamere/spotipy/issues/454
Source: https://github.com/plamere/spotipy/archive/%{version}.tar.gz
BuildRequires: %{python_module devel}
BuildRequires: %{python_module setuptools}
BuildRequires: fdupes
Accepting request 785943 from home:pgajdos:python - version update to 2.9.0 * Support `position_ms` optional parameter in `start_playback` * Add `requests_timeout` parameter to authentication methods * Make cache optional in `get_access_token` * Support for `playlist_cover_image` * Support `after` and `before` parameter in `current_user_recently_played` * CI for unit tests * Automatic `token` refresh * `auth_manager` and `oauth_manager` optional parameters added to `Spotify`'s init. * Optional `username` parameter to be passed to `SpotifyOAuth`, to infer a `cache_path` automatically * Optional `as_dict` parameter to control `SpotifyOAuth`'s `get_access_token` output type. However, this is going to be deprecated in the future, and the method will always return a token string * Optional `show_dialog` parameter to be passed to `SpotifyOAuth` * Both `SpotifyClientCredentials` and `SpotifyOAuth` inherit from a common `SpotifyAuthBase` which handles common parameters and logics. * Support for `playlist_tracks` * Support for `playlist_upload_cover_image` * `user_playlist_tracks` doesn't require a user anymore (accepts `None`) * Deprecated `user_playlist` and `user_playlist_tracks` * Fixed broken examples in README, examples and doc * Allow session keepalive * Bump requests to 2.20.0 * Fixed inconsistent behaviour with some API methods when a full HTTP URL is passed. * Fixed invalid calls to logging warn method * Support for `playlist` to get a playlist without specifying a user * Support for `current_user_saved_albums_delete` * Support for `current_user_saved_albums_contains` * Support for `user_unfollow_artists` * Support for `user_unfollow_users` * Added follow and player endpoints OBS-URL: https://build.opensuse.org/request/show/785943 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-spotipy?expand=0&rev=8
2020-03-17 14:11:54 +00:00
BuildRequires: python-rpm-macros
Requires: python-requests >= 2.20.0
Accepting request 785943 from home:pgajdos:python - version update to 2.9.0 * Support `position_ms` optional parameter in `start_playback` * Add `requests_timeout` parameter to authentication methods * Make cache optional in `get_access_token` * Support for `playlist_cover_image` * Support `after` and `before` parameter in `current_user_recently_played` * CI for unit tests * Automatic `token` refresh * `auth_manager` and `oauth_manager` optional parameters added to `Spotify`'s init. * Optional `username` parameter to be passed to `SpotifyOAuth`, to infer a `cache_path` automatically * Optional `as_dict` parameter to control `SpotifyOAuth`'s `get_access_token` output type. However, this is going to be deprecated in the future, and the method will always return a token string * Optional `show_dialog` parameter to be passed to `SpotifyOAuth` * Both `SpotifyClientCredentials` and `SpotifyOAuth` inherit from a common `SpotifyAuthBase` which handles common parameters and logics. * Support for `playlist_tracks` * Support for `playlist_upload_cover_image` * `user_playlist_tracks` doesn't require a user anymore (accepts `None`) * Deprecated `user_playlist` and `user_playlist_tracks` * Fixed broken examples in README, examples and doc * Allow session keepalive * Bump requests to 2.20.0 * Fixed inconsistent behaviour with some API methods when a full HTTP URL is passed. * Fixed invalid calls to logging warn method * Support for `playlist` to get a playlist without specifying a user * Support for `current_user_saved_albums_delete` * Support for `current_user_saved_albums_contains` * Support for `user_unfollow_artists` * Support for `user_unfollow_users` * Added follow and player endpoints OBS-URL: https://build.opensuse.org/request/show/785943 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-spotipy?expand=0&rev=8
2020-03-17 14:11:54 +00:00
Requires: python-six >= 1.10.0
BuildArch: noarch
Accepting request 785943 from home:pgajdos:python - version update to 2.9.0 * Support `position_ms` optional parameter in `start_playback` * Add `requests_timeout` parameter to authentication methods * Make cache optional in `get_access_token` * Support for `playlist_cover_image` * Support `after` and `before` parameter in `current_user_recently_played` * CI for unit tests * Automatic `token` refresh * `auth_manager` and `oauth_manager` optional parameters added to `Spotify`'s init. * Optional `username` parameter to be passed to `SpotifyOAuth`, to infer a `cache_path` automatically * Optional `as_dict` parameter to control `SpotifyOAuth`'s `get_access_token` output type. However, this is going to be deprecated in the future, and the method will always return a token string * Optional `show_dialog` parameter to be passed to `SpotifyOAuth` * Both `SpotifyClientCredentials` and `SpotifyOAuth` inherit from a common `SpotifyAuthBase` which handles common parameters and logics. * Support for `playlist_tracks` * Support for `playlist_upload_cover_image` * `user_playlist_tracks` doesn't require a user anymore (accepts `None`) * Deprecated `user_playlist` and `user_playlist_tracks` * Fixed broken examples in README, examples and doc * Allow session keepalive * Bump requests to 2.20.0 * Fixed inconsistent behaviour with some API methods when a full HTTP URL is passed. * Fixed invalid calls to logging warn method * Support for `playlist` to get a playlist without specifying a user * Support for `current_user_saved_albums_delete` * Support for `current_user_saved_albums_contains` * Support for `user_unfollow_artists` * Support for `user_unfollow_users` * Added follow and player endpoints OBS-URL: https://build.opensuse.org/request/show/785943 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-spotipy?expand=0&rev=8
2020-03-17 14:11:54 +00:00
# SECTION test requirements
BuildRequires: %{python_module pytest}
BuildRequires: %{python_module requests >= 2.20.0}
BuildRequires: %{python_module six >= 1.10.0}
# /SECTION
%python_subpackages
%description
Spotipy is a Python library for the Spotify Web API.
With Spotipy, the user gets access to the music data
provided by the Spotify platform.
Documentation is available at
https://spotipy.readthedocs.io/
%prep
%setup -q -n spotipy-%{version}
%build
%python_build
%install
%python_install
%python_expand %fdupes %{buildroot}%{$python_sitelib}
Accepting request 785943 from home:pgajdos:python - version update to 2.9.0 * Support `position_ms` optional parameter in `start_playback` * Add `requests_timeout` parameter to authentication methods * Make cache optional in `get_access_token` * Support for `playlist_cover_image` * Support `after` and `before` parameter in `current_user_recently_played` * CI for unit tests * Automatic `token` refresh * `auth_manager` and `oauth_manager` optional parameters added to `Spotify`'s init. * Optional `username` parameter to be passed to `SpotifyOAuth`, to infer a `cache_path` automatically * Optional `as_dict` parameter to control `SpotifyOAuth`'s `get_access_token` output type. However, this is going to be deprecated in the future, and the method will always return a token string * Optional `show_dialog` parameter to be passed to `SpotifyOAuth` * Both `SpotifyClientCredentials` and `SpotifyOAuth` inherit from a common `SpotifyAuthBase` which handles common parameters and logics. * Support for `playlist_tracks` * Support for `playlist_upload_cover_image` * `user_playlist_tracks` doesn't require a user anymore (accepts `None`) * Deprecated `user_playlist` and `user_playlist_tracks` * Fixed broken examples in README, examples and doc * Allow session keepalive * Bump requests to 2.20.0 * Fixed inconsistent behaviour with some API methods when a full HTTP URL is passed. * Fixed invalid calls to logging warn method * Support for `playlist` to get a playlist without specifying a user * Support for `current_user_saved_albums_delete` * Support for `current_user_saved_albums_contains` * Support for `user_unfollow_artists` * Support for `user_unfollow_users` * Added follow and player endpoints OBS-URL: https://build.opensuse.org/request/show/785943 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-spotipy?expand=0&rev=8
2020-03-17 14:11:54 +00:00
%check
- Update to 2.13.0: * Added + Added `SpotifyImplicitGrant` as an auth manager option. It provides user authentication without a client secret but sacrifices the ability to refresh the token without user input. (However, read the class docstring for security advisory.) + Added built-in verification of the `state` query parameter + Added two new attributes: error and error_description to `SpotifyOauthError` exception class to show + authorization/authentication web api errors details. + Added `SpotifyStateError` subclass of `SpotifyOauthError` + Allow extending `SpotifyClientCredentials` and `SpotifyOAuth` + Added the market paramter to `album_tracks` + Added a method to update the auth token. + Support for shows/podcasts and episodes + Added CONTRIBUTING.md * Deprecated + Deprecated `util.prompt_for_user_token` in favor of `spotipy.Spotify(auth_manager=SpotifyOAuth())` * Fixed + Logging regression due to the addition of `logging.basicConfig()` which was unneeded. + Issue where using `http://localhost` as redirect_uri would cause the authorization process to hang. + Fixed miscellaneous issues with parsing of callback URL + Close session when Spotipy object is unloaded + Propagate refresh token error * Changed + Updated the documentation to give more details on the authorization + process and reflect 2020 Spotify Application jargon and practices. + The local webserver is only started for localhost redirect_uri which specify a port, + i.e. it is started for `http://localhost:8080` or `http://127.0.0.1:8080`, not for `http://localhost`. + Client retry logic has changed as it now uses urllib3's `Retry` in conjunction with requests `Session` + The session is customizable as it allows for: - status_forcelist - retries - status_retries - backoff_factor + Spin up a local webserver to auto-fill authentication URL + Use session in SpotifyAuthBase + Logging used instead of print statements - Skip one test that requires external internet access OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-spotipy?expand=0&rev=12
2020-07-07 06:58:55 +00:00
%pytest tests/unit/ -k 'not credentials_get_access_token'
Accepting request 785943 from home:pgajdos:python - version update to 2.9.0 * Support `position_ms` optional parameter in `start_playback` * Add `requests_timeout` parameter to authentication methods * Make cache optional in `get_access_token` * Support for `playlist_cover_image` * Support `after` and `before` parameter in `current_user_recently_played` * CI for unit tests * Automatic `token` refresh * `auth_manager` and `oauth_manager` optional parameters added to `Spotify`'s init. * Optional `username` parameter to be passed to `SpotifyOAuth`, to infer a `cache_path` automatically * Optional `as_dict` parameter to control `SpotifyOAuth`'s `get_access_token` output type. However, this is going to be deprecated in the future, and the method will always return a token string * Optional `show_dialog` parameter to be passed to `SpotifyOAuth` * Both `SpotifyClientCredentials` and `SpotifyOAuth` inherit from a common `SpotifyAuthBase` which handles common parameters and logics. * Support for `playlist_tracks` * Support for `playlist_upload_cover_image` * `user_playlist_tracks` doesn't require a user anymore (accepts `None`) * Deprecated `user_playlist` and `user_playlist_tracks` * Fixed broken examples in README, examples and doc * Allow session keepalive * Bump requests to 2.20.0 * Fixed inconsistent behaviour with some API methods when a full HTTP URL is passed. * Fixed invalid calls to logging warn method * Support for `playlist` to get a playlist without specifying a user * Support for `current_user_saved_albums_delete` * Support for `current_user_saved_albums_contains` * Support for `user_unfollow_artists` * Support for `user_unfollow_users` * Added follow and player endpoints OBS-URL: https://build.opensuse.org/request/show/785943 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-spotipy?expand=0&rev=8
2020-03-17 14:11:54 +00:00
%files %{python_files}
Accepting request 785943 from home:pgajdos:python - version update to 2.9.0 * Support `position_ms` optional parameter in `start_playback` * Add `requests_timeout` parameter to authentication methods * Make cache optional in `get_access_token` * Support for `playlist_cover_image` * Support `after` and `before` parameter in `current_user_recently_played` * CI for unit tests * Automatic `token` refresh * `auth_manager` and `oauth_manager` optional parameters added to `Spotify`'s init. * Optional `username` parameter to be passed to `SpotifyOAuth`, to infer a `cache_path` automatically * Optional `as_dict` parameter to control `SpotifyOAuth`'s `get_access_token` output type. However, this is going to be deprecated in the future, and the method will always return a token string * Optional `show_dialog` parameter to be passed to `SpotifyOAuth` * Both `SpotifyClientCredentials` and `SpotifyOAuth` inherit from a common `SpotifyAuthBase` which handles common parameters and logics. * Support for `playlist_tracks` * Support for `playlist_upload_cover_image` * `user_playlist_tracks` doesn't require a user anymore (accepts `None`) * Deprecated `user_playlist` and `user_playlist_tracks` * Fixed broken examples in README, examples and doc * Allow session keepalive * Bump requests to 2.20.0 * Fixed inconsistent behaviour with some API methods when a full HTTP URL is passed. * Fixed invalid calls to logging warn method * Support for `playlist` to get a playlist without specifying a user * Support for `current_user_saved_albums_delete` * Support for `current_user_saved_albums_contains` * Support for `user_unfollow_artists` * Support for `user_unfollow_users` * Added follow and player endpoints OBS-URL: https://build.opensuse.org/request/show/785943 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-spotipy?expand=0&rev=8
2020-03-17 14:11:54 +00:00
%license LICENSE.md
%doc CHANGELOG.md
%{python_sitelib}/*
%changelog