def print_user_playlists(ploads_json, playlist_json):
        SpotifyRequests.get_user_playlists(ploads_json, playlist_json)

        playlists = JsonManager.load_json_from_file(playlist_json)

        for i in range(len(playlists['items'])):
            print((i + 1), playlists['items'][i]['name'])
    def get_user_playlists(ploads_json, playlist_json):
        ploads = JsonManager.load_json_from_file(
            ploads_json)['using_access_token']

        response = requests.get('https://api.spotify.com/v1/me/playlists',
                                params=ploads)
        print(f"get_users_playlists {response.status_code:12}")

        JsonManager.dump_into_json_file(playlist_json, response.json())
    def get_token(ploads_json, tokens_json):
        token = JsonManager.load_json_from_file(
            ploads_json)['using_refresh_token']['refresh_token']

        if token != "":
            SpotifyRequests.get_token_with_refresh_token(
                ploads_json, tokens_json)
        else:
            SpotifyRequests.get_token_without_code(ploads_json, tokens_json)
    def get_token_with_code(ploads_json, tokens_json):
        ploads = JsonManager.load_json_from_file(ploads_json)['using_code']

        response = requests.post('https://accounts.spotify.com/api/token',
                                 data=ploads)
        print(f"get_token_with_code {response.status_code:12}")

        JsonManager.dump_into_json_file(tokens_json, response.json())
        JsonManager.move_token_to_ploads(ploads_json, tokens_json)
    def get_user_info(ploads_json, user_info_json):

        ploads = JsonManager.load_json_from_file(
            ploads_json)['using_access_token']

        response = requests.get('https://api.spotify.com/v1/me', params=ploads)
        print(f"get_user_info {response.status_code:18}")

        JsonManager.dump_into_json_file(user_info_json, response.json())
        JsonManager.move_user_id_to_ploads(ploads_json, user_info_json)
    def get_code(ploads_json):
        ploads = JsonManager.load_json_from_file(ploads_json)['GET_code']

        response = requests.get('https://accounts.spotify.com/authorize',
                                params=ploads)
        print(f"get_code {response.status_code:23}")

        webbrowser.open(response.url)

        HttpServer.start_server()
    def check_if_a_playlist_exists(ploads_json, playlist_json, playlist_name):
        SpotifyRequests.get_user_playlists(ploads_json, playlist_json)

        playlists = JsonManager.load_json_from_file(playlist_json)

        for playlist in playlists['items']:
            name = playlist['name']

            if playlist_name == name:
                return True

        return False
    def get_user_playlist(ploads_json, playlist_json, playlist_name):
        if False == SpotifyRequests.check_if_a_playlist_exists(
                ploads_json, playlist_json, playlist_name):
            print("Error: Playlist doesn't exist")
            return None

        playlists = JsonManager.load_json_from_file(playlist_json)

        for playlist in playlists['items']:
            if playlist['name'] == playlist_name:
                JsonManager.dump_into_json_file('jsons/playlist.json',
                                                playlist)

                return playlist
    def get_token_with_refresh_token(ploads_json, tokens_json):
        ploads = JsonManager.load_json_from_file(
            ploads_json)['using_refresh_token']

        response = requests.post('https://accounts.spotify.com/api/token',
                                 data=ploads)
        print(f"get_token_with_refresh_token {response.status_code}")

        if 'refresh_token' in response.json().keys():
            JsonManager.dump_into_json_file(tokens_json, response.json())
        else:
            response_dict = response.json()
            response_dict['refresh_token'] = ploads['refresh_token']

            JsonManager.dump_into_json_file(tokens_json, response_dict)

        JsonManager.move_token_to_ploads(ploads_json, tokens_json)
Esempio n. 10
0
    def unfollow_user_playlist(ploads_json, playlist_json, playlist_name):
        if False == SpotifyRequests.check_if_a_playlist_exists(
                ploads_json, playlist_json, playlist_name):
            print("Error: Playlist doesn't exist")
            return None

        playlist = SpotifyRequests.get_user_playlist(ploads_json,
                                                     playlist_json,
                                                     playlist_name)
        ploads = JsonManager.load_json_from_file(
            ploads_json)['using_authorization_token']

        playlist_id = playlist['id']

        url = f'https://api.spotify.com/v1/playlists/{playlist_id}/followers'
        headers = ploads

        response = requests.delete(url, headers=headers)

        print(f"unfollow_user_playlist {response.status_code:9}")
Esempio n. 11
0
    def create_a_playlist(ploads_json, user_info_json, playlist_json,
                          playlist_name):
        if SpotifyRequests.check_if_a_playlist_exists(ploads_json,
                                                      playlist_json,
                                                      playlist_name):
            print("Playlist already exists")
            return None

        SpotifyRequests.get_user_info(ploads_json, user_info_json)

        ploads = JsonManager.load_json_from_file(ploads_json)
        user_id = ploads['using_access_token']['user_id']
        ploads['create_playlist_body']['name'] = playlist_name

        url = f'https://api.spotify.com/v1/users/{user_id}/playlists'
        data = JsonManager.dump_into_json_string(
            ploads['create_playlist_body'])
        headers = ploads['using_authorization_token']

        response = requests.post(url, data=data, headers=headers)
        print(f"create_a_playlist {response.status_code:14}")