diff --git a/example_config.yml b/example_config.yml index d345b15..dc1240a 100644 --- a/example_config.yml +++ b/example_config.yml @@ -3,6 +3,7 @@ spotify: client_secret: your_client_secret username: your_spotify_username redirect_uri: http://localhost:8888/callback + open_browser: True # Set to False if using a headless server environment # uncomment this block if you want to only sync specific playlist IDs diff --git a/src/spotify_to_tidal/auth.py b/src/spotify_to_tidal/auth.py index 4aefd95..cb1762b 100644 --- a/src/spotify_to_tidal/auth.py +++ b/src/spotify_to_tidal/auth.py @@ -15,11 +15,12 @@ SPOTIFY_SCOPES = 'playlist-read-private, user-library-read' def open_spotify_session(config) -> spotipy.Spotify: credentials_manager = spotipy.SpotifyOAuth(username=config['username'], - scope=SPOTIFY_SCOPES, - client_id=config['client_id'], - client_secret=config['client_secret'], - redirect_uri=config['redirect_uri'], - requests_timeout=2) + scope=SPOTIFY_SCOPES, + client_id=config['client_id'], + client_secret=config['client_secret'], + redirect_uri=config['redirect_uri'], + requests_timeout=2, + open_browser=config.get('open_browser', True)) try: credentials_manager.get_access_token(as_dict=False) except spotipy.SpotifyOauthError: diff --git a/tests/unit/test_auth.py b/tests/unit/test_auth.py index 851d9e3..fdf586b 100644 --- a/tests/unit/test_auth.py +++ b/tests/unit/test_auth.py @@ -24,6 +24,7 @@ def test_open_spotify_session(mocker): "client_id": "test_client_id", "client_secret": "test_client_secret", "redirect_uri": "http://localhost/", + "open_browser": True, } # Create a mock SpotifyOAuth instance @@ -41,6 +42,7 @@ def test_open_spotify_session(mocker): client_secret="test_client_secret", redirect_uri="http://localhost/", requests_timeout=2, + open_browser=True, ) # Assert that the Spotify instance was created