You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
134 lines
4.6 KiB
134 lines
4.6 KiB
// ACTION UPDATE ALL DATA SERVER AND BROWSING IT
|
|
var ajax = 0;
|
|
var alert = $('.alert.alert-status');
|
|
var alert_status = $('.alert.alert-status .status');
|
|
|
|
function updateServers(servers) {
|
|
$(servers).each(function (index,server) {
|
|
ajax += 1;
|
|
setTimeout(function () {
|
|
alert_status.html('Browsing server ' + server.name);
|
|
$.ajax({
|
|
method: 'put',
|
|
url: '/rest/browse/server.json',
|
|
data: {server_id: server.id}
|
|
}).done(function (data) {
|
|
if(data.error === true)
|
|
show_alert('error', data.message);
|
|
else
|
|
{
|
|
updateLibraries(server);
|
|
ajax -= 1;
|
|
}
|
|
});
|
|
}, (index + 1) * 1000);
|
|
});
|
|
}
|
|
function updateLibraries(server) {
|
|
ajax += 1;
|
|
alert_status.html('Getting all libraries on server ' + server.name);
|
|
$.ajax({
|
|
method: 'get',
|
|
url: '/rest/browse/libraries.json',
|
|
data: {server_id: server.id}
|
|
}).done(function (data) {
|
|
updateContentLibraries(server, data.libraries);
|
|
ajax -= 1;
|
|
});
|
|
}
|
|
function updateLibrary(server, library) {
|
|
ajax += 1;
|
|
setTimeout(function () {
|
|
alert_status.html('Browsing library ' + library.name + ' on server ' + server.name );
|
|
$.ajax({
|
|
method: 'get',
|
|
url: '/rest/browse/subcontent.json',
|
|
data: {server_id: server.id, library_id: library.id}
|
|
}).done(function (data) {
|
|
if(data.movies !== undefined) {
|
|
updateMovies(server, data.movies, library, null);
|
|
}
|
|
if(data.tvshows !== undefined) {
|
|
updateTvShows(server, data.tvshows);
|
|
}
|
|
ajax -= 1;
|
|
});
|
|
}, 1000);
|
|
}
|
|
function updateContentLibraries(server, libaries) {
|
|
$(libaries).each(function (index,library) {
|
|
ajax += 1;
|
|
setTimeout(function () {
|
|
alert_status.html('Browsing library ' + library.name + ' on server ' + server.name );
|
|
$.ajax({
|
|
method: 'get',
|
|
url: '/rest/browse/subcontent.json',
|
|
data: {server_id: server.id, library_id: library.id}
|
|
}).done(function (data) {
|
|
if(data.movies !== undefined) {
|
|
updateMovies(server, data.movies, library, null);
|
|
}
|
|
if(data.tvshows !== undefined) {
|
|
updateTvShows(server, data.tvshows);
|
|
}
|
|
ajax -= 1;
|
|
});
|
|
}, (index + 1) * 1000);
|
|
});
|
|
}
|
|
function updateTvShows(server, tvshows) {
|
|
$(tvshows).each(function (index,tvshow) {
|
|
ajax += 1;
|
|
setTimeout(function () {
|
|
alert_status.html('Browsing TV Show ' + tvshow.name + ' on server ' + server.name);
|
|
$.ajax({
|
|
method: 'get',
|
|
url: '/rest/browse/seasons.json',
|
|
data: {server_id: server.id, tvshow_id: tvshow.id}
|
|
}).done(function (data) {
|
|
updateSeasons(server, tvshow, data.seasons);
|
|
ajax -= 1;
|
|
});
|
|
}, (index + 1) * 1000);
|
|
});
|
|
}
|
|
function updateSeasons(server, tvshow, seasons) {
|
|
$(seasons).each(function (index,season) {
|
|
ajax += 1;
|
|
setTimeout(function () {
|
|
alert_status.html('Browsing ' + season.name + ' ' + tvshow.name + ' on server ' + server.name);
|
|
$.ajax({
|
|
method: 'get',
|
|
url: '/rest/browse/movies.json',
|
|
data: {server_id: server.id, season_id: season.id}
|
|
}).done(function (data) {
|
|
updateMovies(server, data.movies, null, season);
|
|
ajax -= 1;
|
|
});
|
|
}, (index + 1) * 1000);
|
|
});
|
|
}
|
|
function updateMovies(server, movies, library, season) {
|
|
/*$(movies).each(function (index,movie) {
|
|
setTimeout(function () {
|
|
alert_status.html('Browsing movie ' + movie.name + ' on server ' + server.name);
|
|
$.ajax({
|
|
method: 'get',
|
|
url: '/rest/browse/movies.json',
|
|
data: {server_id: server.id, season_id: season.id}
|
|
}).done(function (data) {
|
|
updateMovies(server, data.movies, null, season);
|
|
ajax -= 1;
|
|
});
|
|
}, (index + 1) * 1000);
|
|
});*/
|
|
}
|
|
function checkAjax() {
|
|
var interval = setInterval(function () {
|
|
if(ajax === 0) {
|
|
clearInterval(interval);
|
|
alert_status.html('Browsing servers is finished!');
|
|
alert.delay(1000).toggleClass('transition-out');
|
|
}
|
|
}, 1000);
|
|
} |