update components
This commit is contained in:
parent
d3a9a9b49e
commit
bcfbb01b4b
45 changed files with 405 additions and 390 deletions
|
@ -21,7 +21,7 @@
|
|||
|
||||
photos = getFilesToUpload(photos, uploadHistory);
|
||||
|
||||
Logger.log('Found ' + photos.length + ' files to upload');
|
||||
console.log('Found ' + photos.length + ' files to upload');
|
||||
|
||||
uploadNext(photos, 0, server, apiClient, deferred);
|
||||
|
||||
|
@ -91,16 +91,16 @@
|
|||
api_key: apiClient.accessToken()
|
||||
});
|
||||
|
||||
Logger.log('Uploading file to ' + url);
|
||||
console.log('Uploading file to ' + url);
|
||||
|
||||
new MediaBrowser.FileUpload().upload(file, name, url).then(function () {
|
||||
|
||||
Logger.log('File upload succeeded');
|
||||
console.log('File upload succeeded');
|
||||
deferred.resolve();
|
||||
|
||||
}, function () {
|
||||
|
||||
Logger.log('File upload failed');
|
||||
console.log('File upload failed');
|
||||
deferred.reject();
|
||||
});
|
||||
});
|
||||
|
|
|
@ -34,7 +34,7 @@
|
|||
|
||||
function reportOfflineActions(apiClient, serverInfo) {
|
||||
|
||||
Logger.log('Begin reportOfflineActions');
|
||||
console.log('Begin reportOfflineActions');
|
||||
|
||||
var deferred = DeferredBuilder.Deferred();
|
||||
|
||||
|
@ -65,7 +65,7 @@
|
|||
|
||||
function syncData(apiClient, serverInfo, syncUserItemAccess) {
|
||||
|
||||
Logger.log('Begin syncData');
|
||||
console.log('Begin syncData');
|
||||
|
||||
var deferred = DeferredBuilder.Deferred();
|
||||
|
||||
|
@ -93,7 +93,7 @@
|
|||
|
||||
function afterSyncData(apiClient, serverInfo, enableSyncUserItemAccess, syncDataResult, deferred) {
|
||||
|
||||
Logger.log('Begin afterSyncData');
|
||||
console.log('Begin afterSyncData');
|
||||
|
||||
removeLocalItems(syncDataResult, serverInfo.Id).then(function (result) {
|
||||
|
||||
|
@ -115,7 +115,7 @@
|
|||
|
||||
function removeLocalItems(syncDataResult, serverId) {
|
||||
|
||||
Logger.log('Begin removeLocalItems');
|
||||
console.log('Begin removeLocalItems');
|
||||
|
||||
var deferred = DeferredBuilder.Deferred();
|
||||
|
||||
|
@ -144,7 +144,7 @@
|
|||
|
||||
function removeLocalItem(itemId, serverId) {
|
||||
|
||||
Logger.log('Begin removeLocalItem');
|
||||
console.log('Begin removeLocalItem');
|
||||
|
||||
var deferred = DeferredBuilder.Deferred();
|
||||
|
||||
|
@ -162,7 +162,7 @@
|
|||
|
||||
function getNewMedia(apiClient, serverInfo, options) {
|
||||
|
||||
Logger.log('Begin getNewMedia');
|
||||
console.log('Begin getNewMedia');
|
||||
|
||||
var deferred = DeferredBuilder.Deferred();
|
||||
|
||||
|
@ -199,7 +199,7 @@
|
|||
|
||||
function getNewItem(jobItem, apiClient, serverInfo, options) {
|
||||
|
||||
Logger.log('Begin getNewItem');
|
||||
console.log('Begin getNewItem');
|
||||
|
||||
var deferred = DeferredBuilder.Deferred();
|
||||
|
||||
|
@ -239,7 +239,7 @@
|
|||
|
||||
function downloadMedia(apiClient, jobItem, localItem, options) {
|
||||
|
||||
Logger.log('Begin downloadMedia');
|
||||
console.log('Begin downloadMedia');
|
||||
var deferred = DeferredBuilder.Deferred();
|
||||
|
||||
require(['localassetmanager'], function () {
|
||||
|
@ -250,7 +250,7 @@
|
|||
|
||||
var localPath = localItem.LocalPath;
|
||||
|
||||
Logger.log('Downloading media. Url: ' + url + '. Local path: ' + localPath);
|
||||
console.log('Downloading media. Url: ' + url + '. Local path: ' + localPath);
|
||||
|
||||
options = options || {};
|
||||
|
||||
|
@ -275,7 +275,7 @@
|
|||
|
||||
function getImages(apiClient, jobItem, localItem) {
|
||||
|
||||
Logger.log('Begin getImages');
|
||||
console.log('Begin getImages');
|
||||
var deferred = DeferredBuilder.Deferred();
|
||||
|
||||
getNextImage(0, apiClient, localItem, deferred);
|
||||
|
@ -285,7 +285,7 @@
|
|||
|
||||
function getNextImage(index, apiClient, localItem, deferred) {
|
||||
|
||||
Logger.log('Begin getNextImage');
|
||||
console.log('Begin getNextImage');
|
||||
if (index >= 4) {
|
||||
|
||||
deferred.resolve();
|
||||
|
@ -347,7 +347,7 @@
|
|||
|
||||
function downloadImage(apiClient, serverId, itemId, imageTag, imageType) {
|
||||
|
||||
Logger.log('Begin downloadImage');
|
||||
console.log('Begin downloadImage');
|
||||
var deferred = DeferredBuilder.Deferred();
|
||||
|
||||
require(['localassetmanager'], function () {
|
||||
|
@ -379,13 +379,13 @@
|
|||
|
||||
function getSubtitles(apiClient, jobItem, localItem) {
|
||||
|
||||
Logger.log('Begin getSubtitles');
|
||||
console.log('Begin getSubtitles');
|
||||
var deferred = DeferredBuilder.Deferred();
|
||||
|
||||
require(['localassetmanager'], function () {
|
||||
|
||||
if (!jobItem.Item.MediaSources.length) {
|
||||
logger.Error("Cannot download subtitles because video has no media source info.");
|
||||
console.log("Cannot download subtitles because video has no media source info.");
|
||||
deferred.resolve();
|
||||
return;
|
||||
}
|
||||
|
@ -423,7 +423,7 @@
|
|||
|
||||
function getItemSubtitle(file, apiClient, jobItem, localItem, mediaSource) {
|
||||
|
||||
Logger.log('Begin getItemSubtitle');
|
||||
console.log('Begin getItemSubtitle');
|
||||
var deferred = DeferredBuilder.Deferred();
|
||||
|
||||
var subtitleStream = mediaSource.MediaStreams.filter(function (m) {
|
||||
|
@ -433,7 +433,7 @@
|
|||
if (!subtitleStream) {
|
||||
|
||||
// We shouldn't get in here, but let's just be safe anyway
|
||||
Logger.log("Cannot download subtitles because matching stream info wasn't found.");
|
||||
console.log("Cannot download subtitles because matching stream info wasn't found.");
|
||||
deferred.reject();
|
||||
return;
|
||||
}
|
||||
|
@ -459,7 +459,7 @@
|
|||
}
|
||||
|
||||
function syncUserItemAccess(syncDataResult, serverId) {
|
||||
Logger.log('Begin syncUserItemAccess');
|
||||
console.log('Begin syncUserItemAccess');
|
||||
|
||||
var deferred = DeferredBuilder.Deferred();
|
||||
|
||||
|
@ -492,7 +492,7 @@
|
|||
}
|
||||
|
||||
function syncUserAccessForItem(itemId, syncDataResult) {
|
||||
Logger.log('Begin syncUserAccessForItem');
|
||||
console.log('Begin syncUserAccessForItem');
|
||||
|
||||
var deferred = DeferredBuilder.Deferred();
|
||||
|
||||
|
|
|
@ -6,38 +6,37 @@
|
|||
|
||||
self.sync = function (options) {
|
||||
|
||||
var deferred = DeferredBuilder.Deferred();
|
||||
return new Promise(function (resolve, reject) {
|
||||
|
||||
var servers = connectionManager.getSavedServers();
|
||||
var servers = connectionManager.getSavedServers();
|
||||
|
||||
syncNext(servers, 0, options, deferred);
|
||||
|
||||
return deferred.promise();
|
||||
syncNext(servers, 0, options, resolve, reject);
|
||||
});
|
||||
};
|
||||
|
||||
function syncNext(servers, index, options, deferred) {
|
||||
function syncNext(servers, index, options, resolve, reject) {
|
||||
|
||||
var length = servers.length;
|
||||
|
||||
if (index >= length) {
|
||||
|
||||
deferred.resolve();
|
||||
resolve();
|
||||
return;
|
||||
}
|
||||
|
||||
var server = servers[index];
|
||||
|
||||
Logger.log("Creating ServerSync to server: " + server.Id);
|
||||
console.log("Creating ServerSync to server: " + server.Id);
|
||||
|
||||
require(['serversync'], function () {
|
||||
|
||||
new MediaBrowser.ServerSync(connectionManager).sync(server, options).then(function () {
|
||||
|
||||
syncNext(servers, index + 1, options, deferred);
|
||||
syncNext(servers, index + 1, options, resolve, reject);
|
||||
|
||||
}, function () {
|
||||
|
||||
syncNext(servers, index + 1, options, deferred);
|
||||
syncNext(servers, index + 1, options, resolve, reject);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
|
|
@ -6,62 +6,51 @@
|
|||
|
||||
self.sync = function (apiClient, server) {
|
||||
|
||||
var deferred = DeferredBuilder.Deferred();
|
||||
return new Promise(function (resolve, reject) {
|
||||
|
||||
var users = server.Users || [];
|
||||
syncNext(users, 0, deferred, apiClient, server);
|
||||
|
||||
return deferred.promise();
|
||||
var users = server.Users || [];
|
||||
syncNext(users, 0, resolve, reject, apiClient, server);
|
||||
});
|
||||
};
|
||||
|
||||
function syncNext(users, index, deferred, apiClient, server) {
|
||||
function syncNext(users, index, resolve, reject, apiClient, server) {
|
||||
|
||||
var length = users.length;
|
||||
|
||||
if (index >= length) {
|
||||
|
||||
deferred.resolve();
|
||||
resolve();
|
||||
return;
|
||||
}
|
||||
|
||||
syncUser(users[index], apiClient).then(function () {
|
||||
var onFinish = function() {
|
||||
syncNext(users, index + 1, resolve, reject, apiClient, server);
|
||||
};
|
||||
|
||||
syncNext(users, index + 1, deferred, apiClient, server);
|
||||
}, function () {
|
||||
syncNext(users, index + 1, deferred, apiClient, server);
|
||||
});
|
||||
syncUser(users[index], apiClient).then(onFinish, onFinish);
|
||||
}
|
||||
|
||||
function syncUser(user, apiClient) {
|
||||
|
||||
var deferred = DeferredBuilder.Deferred();
|
||||
return new Promise(function (resolve, reject) {
|
||||
|
||||
apiClient.getOfflineUser(user.Id).then(function (result) {
|
||||
apiClient.getOfflineUser(user.Id).then(function (result) {
|
||||
|
||||
require(['localassetmanager'], function () {
|
||||
require(['localassetmanager'], function () {
|
||||
|
||||
LocalAssetManager.saveOfflineUser(result).then(function () {
|
||||
deferred.resolve();
|
||||
}, function () {
|
||||
deferred.resolve();
|
||||
LocalAssetManager.saveOfflineUser(result).then(resolve, resolve);
|
||||
});
|
||||
});
|
||||
|
||||
}, function () {
|
||||
}, function () {
|
||||
|
||||
// TODO: We should only delete if there's a 401 response
|
||||
// TODO: We should only delete if there's a 401 response
|
||||
|
||||
require(['localassetmanager'], function () {
|
||||
require(['localassetmanager'], function () {
|
||||
|
||||
LocalAssetManager.deleteOfflineUser(user.Id).then(function () {
|
||||
deferred.resolve();
|
||||
}, function () {
|
||||
deferred.resolve();
|
||||
LocalAssetManager.deleteOfflineUser(user.Id).then(resolve, resolve);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
return deferred.promise();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -6,13 +6,13 @@
|
|||
|
||||
self.sync = function (server, options) {
|
||||
|
||||
var deferred = DeferredBuilder.Deferred();
|
||||
|
||||
if (!server.AccessToken && !server.ExchangeToken) {
|
||||
|
||||
Logger.log('Skipping sync to server ' + server.Id + ' because there is no saved authentication information.');
|
||||
deferred.resolve();
|
||||
return deferred.promise();
|
||||
console.log('Skipping sync to server ' + server.Id + ' because there is no saved authentication information.');
|
||||
return new Promise(function (resolve, reject) {
|
||||
|
||||
resolve();
|
||||
});
|
||||
}
|
||||
|
||||
var connectionOptions = {
|
||||
|
@ -21,31 +21,25 @@
|
|||
reportCapabilities: false
|
||||
};
|
||||
|
||||
connectionManager.connectToServer(server, connectionOptions).then(function (result) {
|
||||
return connectionManager.connectToServer(server, connectionOptions).then(function (result) {
|
||||
|
||||
if (result.State == MediaBrowser.ConnectionState.SignedIn) {
|
||||
performSync(server, options, deferred);
|
||||
return performSync(server, options);
|
||||
} else {
|
||||
Logger.log('Unable to connect to server id: ' + server.Id);
|
||||
deferred.reject();
|
||||
console.log('Unable to connect to server id: ' + server.Id);
|
||||
return Promise.reject();
|
||||
}
|
||||
|
||||
}, function () {
|
||||
}, function (err) {
|
||||
|
||||
Logger.log('Unable to connect to server id: ' + server.Id);
|
||||
deferred.reject();
|
||||
console.log('Unable to connect to server id: ' + server.Id);
|
||||
throw err;
|
||||
});
|
||||
|
||||
return deferred.promise();
|
||||
};
|
||||
|
||||
function performSync(server, options, deferred) {
|
||||
function performSync(server, options) {
|
||||
|
||||
Logger.log("Creating ContentUploader to server: " + server.Id);
|
||||
|
||||
var nextAction = function () {
|
||||
syncOfflineUsers(server, options, deferred);
|
||||
};
|
||||
console.log("Creating ContentUploader to server: " + server.Id);
|
||||
|
||||
options = options || {};
|
||||
|
||||
|
@ -56,70 +50,77 @@
|
|||
}
|
||||
|
||||
if (!uploadPhotos) {
|
||||
nextAction();
|
||||
return;
|
||||
return syncOfflineUsers(server, options);
|
||||
}
|
||||
|
||||
require(['contentuploader'], function () {
|
||||
return new Promise(function (resolve, reject) {
|
||||
|
||||
new MediaBrowser.ContentUploader(connectionManager).uploadImages(server).then(function () {
|
||||
require(['contentuploader'], function () {
|
||||
|
||||
Logger.log("ContentUploaded succeeded to server: " + server.Id);
|
||||
new MediaBrowser.ContentUploader(connectionManager).uploadImages(server).then(function () {
|
||||
|
||||
nextAction();
|
||||
console.log("ContentUploaded succeeded to server: " + server.Id);
|
||||
|
||||
}, function () {
|
||||
syncOfflineUsers(server, options).then(resolve, reject);
|
||||
|
||||
Logger.log("ContentUploaded failed to server: " + server.Id);
|
||||
}, function () {
|
||||
|
||||
nextAction();
|
||||
console.log("ContentUploaded failed to server: " + server.Id);
|
||||
|
||||
syncOfflineUsers(server, options).then(resolve, reject);
|
||||
});
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
function syncOfflineUsers(server, options, deferred) {
|
||||
function syncOfflineUsers(server, options) {
|
||||
|
||||
if (options.syncOfflineUsers === false) {
|
||||
syncMedia(server, options, deferred);
|
||||
return;
|
||||
return syncMedia(server, options);
|
||||
}
|
||||
|
||||
require(['offlineusersync'], function () {
|
||||
return new Promise(function (resolve, reject) {
|
||||
|
||||
var apiClient = connectionManager.getApiClient(server.Id);
|
||||
require(['offlineusersync'], function () {
|
||||
|
||||
new MediaBrowser.OfflineUserSync().sync(apiClient, server).then(function () {
|
||||
var apiClient = connectionManager.getApiClient(server.Id);
|
||||
|
||||
Logger.log("OfflineUserSync succeeded to server: " + server.Id);
|
||||
new MediaBrowser.OfflineUserSync().sync(apiClient, server).then(function () {
|
||||
|
||||
syncMedia(server, options, deferred);
|
||||
console.log("OfflineUserSync succeeded to server: " + server.Id);
|
||||
|
||||
}, function () {
|
||||
syncMedia(server, options).then(resolve, reject);
|
||||
|
||||
Logger.log("OfflineUserSync failed to server: " + server.Id);
|
||||
}, function () {
|
||||
|
||||
deferred.reject();
|
||||
console.log("OfflineUserSync failed to server: " + server.Id);
|
||||
|
||||
reject();
|
||||
});
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
function syncMedia(server, options, deferred) {
|
||||
function syncMedia(server, options) {
|
||||
|
||||
require(['mediasync'], function () {
|
||||
return new Promise(function (resolve, reject) {
|
||||
|
||||
var apiClient = connectionManager.getApiClient(server.Id);
|
||||
require(['mediasync'], function () {
|
||||
|
||||
new MediaBrowser.MediaSync().sync(apiClient, server, options).then(function () {
|
||||
var apiClient = connectionManager.getApiClient(server.Id);
|
||||
|
||||
Logger.log("MediaSync succeeded to server: " + server.Id);
|
||||
new MediaBrowser.MediaSync().sync(apiClient, server, options).then(function () {
|
||||
|
||||
deferred.resolve();
|
||||
console.log("MediaSync succeeded to server: " + server.Id);
|
||||
|
||||
}, function () {
|
||||
resolve();
|
||||
|
||||
Logger.log("MediaSync failed to server: " + server.Id);
|
||||
}, function () {
|
||||
|
||||
deferred.reject();
|
||||
console.log("MediaSync failed to server: " + server.Id);
|
||||
|
||||
reject();
|
||||
});
|
||||
});
|
||||
});
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue