From 3ecb4f65d3d7bf003c8a8af78a6b62f319ad9031 Mon Sep 17 00:00:00 2001 From: Nick Steel Date: Wed, 3 Feb 2016 23:33:17 +0000 Subject: [PATCH] Handle unresolvable streams gracefully and don't comvert automatically. --- .../static/js/controls.js | 26 ++++++++++--------- 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/mopidy_musicbox_webclient/static/js/controls.js b/mopidy_musicbox_webclient/static/js/controls.js index 186caab..d9beeba 100644 --- a/mopidy_musicbox_webclient/static/js/controls.js +++ b/mopidy_musicbox_webclient/static/js/controls.js @@ -590,22 +590,19 @@ function deleteFavourite(index) { function showFavourites() { $('#streamuristable').empty(); - $.cookie.json = true; - if ($.cookie('streamUris')) { - toast('Converting streamUris...'); - upgradeStreamUrisToFavourites(); - } getFavourites().then(function(favourites) { if (favourites && favourites.tracks) { - tracks = favourites.tracks; - var tmp = ''; + $.cookie.json = true; + if ($.cookie('streamUris')) { + tmp = '
  • Convert StreamUris to Favourites

  • ' + } var child = ''; - for (var i = 0; i < tracks.length; i++) { + for (var i = 0; i < favourites.tracks.length; i++) { child = '
  •  ' + '' + - ' '; - child += '

    ' + tracks[i].name + '

  • '; + ' '; + child += '

    ' + favourites.tracks[i].name + '

    '; tmp += child; } $('#streamuristable').html(tmp); @@ -614,6 +611,7 @@ function showFavourites() { } function upgradeStreamUrisToFavourites() { + toast('Converting streamUris...'); $.cookie.json = true; var streamUris = $.cookie('streamUris'); // Read the cookie. if (streamUris) { @@ -630,8 +628,12 @@ function upgradeStreamUrisToFavourites() { var rs = streamUris[key]; if (rs) { var track = results[rs[1]][0]; - track.name = rs[0] || track.name; // Use custom name if provided. - tracks.push(track); + if (track) { + track.name = rs[0] || track.name; // Use custom name if provided. + tracks.push(track); + } else { + console.log("Skipping unplayable streamUri " + rs[1]); + } } } addToFavourites(tracks);