Esempio n. 1
0
def updatePlaylists():
    session = Session()

    # attempt to update each user's playlists
    for user in session.query(User):
        is_active = False

        # authorize the application with Spotify API
        payload = refreshToken(user.refresh_token)

        # if user account has been removed or authorization revoked, user is deleted
        if payload == None:
            session.delete(user)
        else:
            access_token = payload[0]

            playlist = user.playlist_id_short
            if playlist != None:

                # if the playlist has not been deleted
                if (dbClearPlaylist(access_token, playlist) != None):
                    uri_list = dbGetTopTracksURI(access_token, 'short_term',
                                                 50)
                    dbAddTracksPlaylist(access_token, playlist, uri_list)
                    is_active = True
                else:
                    user.playlist_id_short = None

            playlist = user.playlist_id_medium
            if playlist != None:
                if (dbClearPlaylist(access_token, playlist) != None):
                    uri_list = dbGetTopTracksURI(access_token, 'medium_term',
                                                 50)
                    dbAddTracksPlaylist(access_token, playlist, uri_list)
                    is_active = True
                else:
                    user.playlist_id_medium = None

            playlist = user.playlist_id_long
            if playlist != None:
                if (dbClearPlaylist(access_token, playlist) != None):
                    uri_list = dbGetTopTracksURI(access_token, 'long_term', 50)
                    dbAddTracksPlaylist(access_token, playlist, uri_list)
                    is_active = True
                else:
                    user.playlist_id_long = None

            # if no playlists could be updated, then remove user
            if not is_active:
                session.delete(user)

    session.commit()
    session.close()

    logging.info('Updated TopTracks Playlists')
Esempio n. 2
0
from  main import Session,engine,User


local_session=Session(bind=engine)


user_to_delete=local_session.query(User).filter(User.username=="jonathan").first()

local_session.delete(user_to_delete)

local_session.commit()