diff --git a/SpotifyAutoPlaylistCreator.py b/SpotifyAutoPlaylistCreator.py index 4b38952b8ea91a053f2faa8941d1b1de72604580..e0630dca66cd5558d0b78e03b11b8adb254946ae 100644 --- a/SpotifyAutoPlaylistCreator.py +++ b/SpotifyAutoPlaylistCreator.py @@ -3,27 +3,36 @@ from typing import Dict, List import spotipy from TheCodeLabs_BaseUtils.DefaultLogger import DefaultLogger -from spotipy.oauth2 import SpotifyPKCE +from spotipy.oauth2 import SpotifyOAuth LOG_FORMAT = '[%(levelname)-7s] - %(asctime)s - %(message)s' LOGGER = DefaultLogger().create_logger_if_not_exists('SpotifyAutoPlaylistCreator', logFormat=LOG_FORMAT) class SpotifyAutoPlaylistCreator: - def __init__(self, clientID: str, clientSecret: str, playlistInfo: List[Dict[str, str]], - destinationPlaylistInfo: Dict[str, str], numberOfTracks: int, redirectUrl: str): + def __init__(self, clientID: str, + clientSecret: str, + playlistInfo: List[Dict[str, str]], + destinationPlaylistInfo: Dict[str, str], + numberOfTracks: int, + redirectUrl: str, + openBrowser: bool): self._clientID = clientID self._clientSecret = clientSecret self._playlistInfo = playlistInfo self._destinationPlaylistInfo = destinationPlaylistInfo self._numberOfTracks = numberOfTracks self._redirectUrl = redirectUrl + self._openBrowser = openBrowser self._spotify = self.login() def login(self) -> spotipy.Spotify: - client_credentials_manager = SpotifyPKCE(client_id=self._clientID, redirect_uri=self._redirectUrl, - scope='playlist-modify-private,playlist-modify-public') + client_credentials_manager = SpotifyOAuth(client_id=self._clientID, + client_secret=self._clientSecret, + redirect_uri=self._redirectUrl, + scope='playlist-modify-private,playlist-modify-public', + open_browser=self._openBrowser) return spotipy.Spotify(client_credentials_manager=client_credentials_manager) def run(self): @@ -101,7 +110,8 @@ if __name__ == '__main__': SETTINGS['playlists'], SETTINGS['destinationPlaylist'], SETTINGS['numberOfTracks'], - SETTINGS['redirectUrl']) + SETTINGS['redirectUrl'], + SETTINGS['openBrowser']) spotifyBackup.run() diff --git a/config/settings-creator-example.json b/config/settings-creator-example.json index 4a287ca4a481fa2bfef53eca7ea4983bd316cf2c..3b95af2fb5cf9244301e1adc14ca6e1ec4883438 100644 --- a/config/settings-creator-example.json +++ b/config/settings-creator-example.json @@ -15,5 +15,6 @@ "id": "" }, "numberOfTracks": 10, - "redirectUrl": "http://localhost:8080" + "redirectUrl": "http://localhost:8080", + "openBrowser": false } \ No newline at end of file