Esempio n. 1
0
 def click():
     logger('button', 'click')
     sp_oauth = oauth2.SpotifyOAuth(CLIENT_ID,
                                    CLIENT_SECRET,
                                    REDIRECT_URI,
                                    scope=SCOPE)
     return redirect(sp_oauth.get_authorize_url())
 def authorization():
     response = request.url
     username = authorize(response)
     logger(username, 'attempt')
     spotify_object = initializer(username)
     audio_tracks_get(spotify_object)
     logger(username, 'success')
     return render_template('authorized.html')
Esempio n. 3
0
def train_model(data_path, train_data, test_data, cutoff, test_cutoff, dest,
                batch_size, epochs, GPU):
    train_loader = load_database(data_path, train_data, cutoff, batch_size,
                                 GPU)
    print("{} samples in train data".format(len(train_loader.dataset.X_train)))
    test_loader = load_database(data_path, test_data, cutoff, batch_size, GPU,
                                True)
    print("{} samples in test data".format(len(test_loader.dataset.X_train)))

    hidden_size = 128
    if GPU:
        dtype = torch.cuda.FloatTensor
    else:
        dtype = torch.FloatTensor
    ratio = sum(train_loader.dataset.y_train) / len(
        train_loader.dataset.y_train)
    weights = torch.FloatTensor([ratio, 1 - ratio]).type(dtype)
    model = DualComplex(batch_size, hidden_size, 2, True)
    model.type(dtype)
    loss = nn.CrossEntropyLoss(weights)
    optimizer = Adam(model.parameters(), lr=0.001, amsgrad=True)
    scheduler = StepLR(optimizer, 11, gamma=0.1)
    test_keys = ["test_data"]
    log = logger(["loss", "AUC", "P-R", "acc"], False, test_keys)
    model.fit(train_loader,
              valid_loaders=[test_loader],
              valid_keys=test_keys,
              scheduler=scheduler,
              epochs=epochs,
              loss=loss,
              optimizer=optimizer,
              log=log,
              dest=dest,
              HYBRID=True,
              GPU=GPU)
Esempio n. 4
0
 def authorization():
     response = request.url
     username = authorize(response)
     usernames = pandas.read_csv('usernames.csv')
     logger(username, 'attempt')
     spotify_object = initializer(username)
     history(username, spotify_object)
     if username in list(usernames['username']):
         remover(username)
         discovery(username, spotify_object)
         follower(username, spotify_object)
         playlist(username)
     else:
         toptracksartists(username, spotify_object)
         discovery(username, spotify_object)
         releaser(username, spotify_object)
         follower(username, spotify_object)
         playlist(username)
         includer(username)
     logger(username, 'success')
     return render_template('success.html')
Esempio n. 5
0
"""This script runs daily."""
import pandas
from spotipy.client import SpotifyException
from functions import initializer, history, remover, toptracksartists
from functions import discovery, releaser, playlist, excluder, logger
for user in pandas.read_csv('usernames.csv')['username']:
    try:
        spotifyobject = initializer(user)
        history(user, spotifyobject)
        remover(user)
        toptracksartists(user, spotifyobject)
        discovery(user, spotifyobject)
        releaser(user, spotifyobject)
        playlist(user)
        logger(user, 'daily')
    except SpotifyException:
        excluder(user)
        logger(user, 'remove')