Improved exporting to spotify

This commit is contained in:
Kasper Rynning-Tønnesen
2017-01-23 13:41:33 +01:00
parent 211e29bcc4
commit 91f15abc11
5 changed files with 31 additions and 11 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -492,9 +492,25 @@ var List = {
'Authorization': 'Bearer ' + access_token_data.access_token
},
async: true,
statusCode: {
429: function(jqXHR) {
console.log(jqXHR.getAllResponseHeaders());
var retryAfter = jqXHR.getResponseHeader("Retry-After");
console.log(retryAfter);
if (!retryAfter) retryAfter = 5;
retryAfter = parseInt(retryAfter, 10);
Helper.log("Retry-After", retryAfter);
setTimeout(function(){
List.searchSpotify(curr_song);
}, retryAfter * 1000);
}
},
error: function(err){
if(err.status == 429){
console.log(err.getAllResponseHeaders());
var retryAfter = err.getResponseHeader("Retry-After");
console.log(retryAfter);
if (!retryAfter) retryAfter = 5;
retryAfter = parseInt(retryAfter, 10);
Helper.log("Retry-After", retryAfter);
setTimeout(function(){
@@ -522,6 +538,7 @@ var List = {
data.name = data.name.replace("feat", " ");
data.name = data.name.replace("ft.", " ");
data.name = data.name.replace("radio edit", " ");
data.name = data.name.replace("video", " ");
data.name = data.name.replace("pop version", " ");
data.name = data.name.replace(" ", " ").replace(" ", " ").replace(" ", " ").replace(" ", " ").replace(" ", " ").replace(" ", " ").replace(" ", " ").replace(" ", " ");
data.artists[0].name = data.artists[0].name.replace(" ", " ").replace(" ", " ").replace(" ", " ").replace(" ", " ").replace(" ", " ").replace(" ", " ").replace(" ", " ").replace(" ", " ");
@@ -560,11 +577,7 @@ var List = {
if(List.uris.length > 100){
while(List.uris.length > 100){
List.addToSpotifyPlaylist(List.uris.slice(0, 100), playlist_id, user_id);
if(List.uris.length > 200){
List.uris = List.uris.slice(100, 200);
} else {
List.uris = List.uris.slice(100, List.uris.length);
}
List.uris = List.uris.slice(100, List.uris.length);
}
List.addToSpotifyPlaylist(List.uris, playlist_id, user_id);
$("#playlist_loader_export").addClass("hide");
@@ -580,6 +593,7 @@ var List = {
$(".not-exported-container").append(not_added_song.html());
})
$(".not-exported").removeClass("hide");
$(".spotify_export_button").css("display", "block");
}
}
});
@@ -596,6 +610,11 @@ var List = {
data: JSON.stringify({
uris: uris
}),
error: function(response){
setTimeout(function(){
List.addToSpotifyPlaylist(uris, playlist_id, user_id);
}, 3000);
},
success: function(response){
Helper.log("Added songs");
}

View File

@@ -715,6 +715,7 @@ $(document).on("click", ".export-spotify-auth", function(e){
access_token_data = {};
spotify_is_authenticated(false);
}, access_token_data.expires_in * 1000);
$(".spotify_export_button").css("display", "none");
List.exportToSpotify();
} else {
access_token_data = {};

View File

@@ -302,7 +302,7 @@
</div>
</li>
<li class="white-bg">
<div class="input-field field-settings spotify_unauthenticated export-buttons">
<div class="input-field field-settings spotify_export_button export-buttons">
<a class="modal-trigger waves-effect green lighten btn export-spotify-auth" title="Export Spotify playlist">
<img src="/public/images/spotify.png" class="left spotify_logo" alt="Spotify Logo" />Spotify
</a>