Merge remote-tracking branch 'upstream/develop' into enhance/slider_handle
This commit is contained in:
commit
ebe6891ea6
15
mopidy_musicbox_webclient/static/js/controls.js
vendored
15
mopidy_musicbox_webclient/static/js/controls.js
vendored
@ -517,9 +517,11 @@ function getCurrentlyPlaying() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function getPlaylistByName(name, scheme, create) {
|
function getPlaylistByName(name, scheme, create) {
|
||||||
return mopidy.playlists.filter({"name": name}).then(function(plists) {
|
var uri_scheme = scheme || '';
|
||||||
|
var uri = '';
|
||||||
|
return mopidy.playlists.asList().catch(console.error.bind(console)).then(function(plists) {
|
||||||
for (var i = 0; i < plists.length; i++) {
|
for (var i = 0; i < plists.length; i++) {
|
||||||
if (!scheme || getScheme(plists[i].uri) == scheme) {
|
if ((plists[i].name === name) && (scheme === '' || getScheme(plists[i].uri) === scheme)) {
|
||||||
return plists[i];
|
return plists[i];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -533,11 +535,18 @@ function getPlaylistByName(name, scheme, create) {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function getPlaylistFull(uri) {
|
||||||
|
return mopidy.playlists.lookup(uri).then(function(pl) {
|
||||||
|
playlists[uri] = pl;
|
||||||
|
return pl;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
function getFavourites() {
|
function getFavourites() {
|
||||||
return getPlaylistByName(STREAMS_PLAYLIST_NAME,
|
return getPlaylistByName(STREAMS_PLAYLIST_NAME,
|
||||||
STREAMS_PLAYLIST_SCHEME,
|
STREAMS_PLAYLIST_SCHEME,
|
||||||
true).then(function(playlist) {
|
true).then(function(playlist) {
|
||||||
return playlist;
|
return getPlaylistFull(playlist.uri);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -425,7 +425,12 @@ function playlisttotable(pl, target, uri) {
|
|||||||
|
|
||||||
function getPlaylistTracks(uri) {
|
function getPlaylistTracks(uri) {
|
||||||
if (playlists[uri] && playlists[uri].tracks) {
|
if (playlists[uri] && playlists[uri].tracks) {
|
||||||
return playlists[uri].tracks;
|
return Mopidy.when(playlists[uri].tracks);
|
||||||
|
} else {
|
||||||
|
showLoading(true);
|
||||||
|
return mopidy.playlists.getItems(uri).then(function(refs) {
|
||||||
|
return processPlaylistItems({'uri':uri, 'items':refs});
|
||||||
|
}, console.error);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -438,16 +443,15 @@ function getUris(tracks) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function getTracksFromUri(uri, full_track_data) {
|
function getTracksFromUri(uri, full_track_data) {
|
||||||
full_track_data = full_track_data || false;
|
var returnTracksOrUris = function(tracks) {
|
||||||
var tracks = getPlaylistTracks(uri);
|
return (full_track_data || false) ? tracks : getUris(tracks);
|
||||||
if (!tracks && customTracklists[uri]) {
|
|
||||||
tracks = customTracklists[uri];
|
|
||||||
}
|
}
|
||||||
if (full_track_data) {
|
if (customTracklists[uri]) {
|
||||||
return tracks;
|
return returnTracksOrUris(customTracklists[uri]);
|
||||||
} else {
|
} else if (playlists[uri] && playlists[uri].tracks) {
|
||||||
return getUris(tracks);
|
return returnTracksOrUris(playlists[uri].tracks);
|
||||||
}
|
}
|
||||||
|
return [];
|
||||||
}
|
}
|
||||||
|
|
||||||
//convert time to human readable format
|
//convert time to human readable format
|
||||||
|
|||||||
@ -250,14 +250,10 @@ function togglePlaylists() {
|
|||||||
function showTracklist(uri) {
|
function showTracklist(uri) {
|
||||||
$(PLAYLIST_TABLE).empty();
|
$(PLAYLIST_TABLE).empty();
|
||||||
togglePlaylists();
|
togglePlaylists();
|
||||||
var tracks = getPlaylistTracks(uri);
|
var tracks = getPlaylistTracks(uri).then(function(tracks) {
|
||||||
//load from cache
|
|
||||||
if (tracks) {
|
|
||||||
resultsToTables(tracks, PLAYLIST_TABLE, uri);
|
resultsToTables(tracks, PLAYLIST_TABLE, uri);
|
||||||
return;
|
});
|
||||||
} else {
|
showLoading(false);
|
||||||
showLoading(true);
|
|
||||||
}
|
|
||||||
updatePlayIcons(uri);
|
updatePlayIcons(uri);
|
||||||
$('#playlistslist li a').each(function() {
|
$('#playlistslist li a').each(function() {
|
||||||
$(this).removeClass("playlistactive");
|
$(this).removeClass("playlistactive");
|
||||||
@ -266,10 +262,6 @@ function showTracklist(uri) {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
// scrollToTracklist();
|
// scrollToTracklist();
|
||||||
//lookup recent tracklist
|
|
||||||
mopidy.playlists.getItems(uri).then(function(refs) {
|
|
||||||
processPlaylistItems({'uri':uri, 'items':refs});
|
|
||||||
}, console.error);
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -183,6 +183,11 @@ function processGetPlaylists(resultArr) {
|
|||||||
* process results of a returned list of playlist track refs
|
* process results of a returned list of playlist track refs
|
||||||
*********************************************************/
|
*********************************************************/
|
||||||
function processPlaylistItems(resultDict) {
|
function processPlaylistItems(resultDict) {
|
||||||
|
if (resultDict.items.length == 0) {
|
||||||
|
console.log('Playlist', resultDict.uri, 'is empty');
|
||||||
|
showLoading(false);
|
||||||
|
return;
|
||||||
|
}
|
||||||
var trackUris = []
|
var trackUris = []
|
||||||
for (i = 0; i < resultDict.items.length; i++) {
|
for (i = 0; i < resultDict.items.length; i++) {
|
||||||
trackUris.push(resultDict.items[i].uri);
|
trackUris.push(resultDict.items[i].uri);
|
||||||
@ -194,9 +199,10 @@ function processPlaylistItems(resultDict) {
|
|||||||
for (i = 0; i < trackUris.length; i++) {
|
for (i = 0; i < trackUris.length; i++) {
|
||||||
playlists[newplaylisturi].tracks.push(tracks[trackUris[i]][0]);
|
playlists[newplaylisturi].tracks.push(tracks[trackUris[i]][0]);
|
||||||
}
|
}
|
||||||
resultsToTables(playlists[newplaylisturi].tracks, PLAYLIST_TABLE, newplaylisturi);
|
|
||||||
showLoading(false);
|
showLoading(false);
|
||||||
|
return playlists[newplaylisturi].tracks;
|
||||||
});
|
});
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
/********************************************************
|
/********************************************************
|
||||||
|
|||||||
4
tox.ini
4
tox.ini
@ -5,11 +5,11 @@ envlist = py27, flake8
|
|||||||
sitepackages = true
|
sitepackages = true
|
||||||
deps =
|
deps =
|
||||||
mock
|
mock
|
||||||
mopidy==dev
|
mopidy
|
||||||
pytest
|
pytest
|
||||||
pytest-cov
|
pytest-cov
|
||||||
pytest-xdist
|
pytest-xdist
|
||||||
install_command = pip install --allow-unverified=mopidy --pre {opts} {packages}
|
install_command = pip install {opts} {packages}
|
||||||
commands =
|
commands =
|
||||||
py.test \
|
py.test \
|
||||||
--basetemp={envtmpdir} \
|
--basetemp={envtmpdir} \
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user