Fix calculation of last WebDAV orphaned-file-purge time
Purging was happening after every download.
This commit is contained in:
parent
ba514b80d9
commit
78dd1e132e
|
@ -898,6 +898,8 @@ Zotero.Sync.Storage.Mode.WebDAV.prototype = {
|
||||||
* @param {Integer} libraryID
|
* @param {Integer} libraryID
|
||||||
*/
|
*/
|
||||||
purgeDeletedStorageFiles: Zotero.Promise.coroutine(function* (libraryID) {
|
purgeDeletedStorageFiles: Zotero.Promise.coroutine(function* (libraryID) {
|
||||||
|
var d = new Date();
|
||||||
|
|
||||||
Zotero.debug("Purging deleted storage files");
|
Zotero.debug("Purging deleted storage files");
|
||||||
var files = yield Zotero.Sync.Storage.Local.getDeletedFiles(libraryID);
|
var files = yield Zotero.Sync.Storage.Local.getDeletedFiles(libraryID);
|
||||||
if (!files.length) {
|
if (!files.length) {
|
||||||
|
@ -930,7 +932,9 @@ Zotero.Sync.Storage.Mode.WebDAV.prototype = {
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Zotero.debug(`Purged deleted storage files in ${new Date() - d} ms`);
|
||||||
Zotero.debug(results);
|
Zotero.debug(results);
|
||||||
|
|
||||||
return results;
|
return results;
|
||||||
}),
|
}),
|
||||||
|
|
||||||
|
@ -939,6 +943,7 @@ Zotero.Sync.Storage.Mode.WebDAV.prototype = {
|
||||||
* Delete orphaned storage files older than a week before last sync time
|
* Delete orphaned storage files older than a week before last sync time
|
||||||
*/
|
*/
|
||||||
purgeOrphanedStorageFiles: Zotero.Promise.coroutine(function* () {
|
purgeOrphanedStorageFiles: Zotero.Promise.coroutine(function* () {
|
||||||
|
var d = new Date();
|
||||||
const libraryID = Zotero.Libraries.userLibraryID;
|
const libraryID = Zotero.Libraries.userLibraryID;
|
||||||
const library = Zotero.Libraries.get(libraryID);
|
const library = Zotero.Libraries.get(libraryID);
|
||||||
const daysBeforeSyncTime = 7;
|
const daysBeforeSyncTime = 7;
|
||||||
|
@ -947,9 +952,8 @@ Zotero.Sync.Storage.Mode.WebDAV.prototype = {
|
||||||
var lastPurge = Zotero.Prefs.get('lastWebDAVOrphanPurge');
|
var lastPurge = Zotero.Prefs.get('lastWebDAVOrphanPurge');
|
||||||
if (lastPurge) {
|
if (lastPurge) {
|
||||||
try {
|
try {
|
||||||
lastPurge = new Date(lastPurge * 1000);
|
let purgeAfter = lastPurge + (daysBeforeSyncTime * 24 * 60 * 60);
|
||||||
let purgeAfter = lastPurge + (daysBeforeSyncTime * 24 * 60 * 60 * 1000);
|
if (new Date() < new Date(purgeAfter * 1000)) {
|
||||||
if (new Date() > purgeAfter) {
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1089,6 +1093,8 @@ Zotero.Sync.Storage.Mode.WebDAV.prototype = {
|
||||||
|
|
||||||
var results = yield this._deleteStorageFiles(deleteFiles);
|
var results = yield this._deleteStorageFiles(deleteFiles);
|
||||||
Zotero.Prefs.set("lastWebDAVOrphanPurge", Math.round(new Date().getTime() / 1000));
|
Zotero.Prefs.set("lastWebDAVOrphanPurge", Math.round(new Date().getTime() / 1000));
|
||||||
|
|
||||||
|
Zotero.debug(`Purged orphaned storage files in ${new Date() - d} ms`);
|
||||||
Zotero.debug(results);
|
Zotero.debug(results);
|
||||||
|
|
||||||
return results;
|
return results;
|
||||||
|
|
Loading…
Reference in New Issue
Block a user