mirror of
https://github.com/abraunegg/onedrive
synced 2024-05-21 23:26:37 +02:00
* Size check should only be used if configured * Rather than make 2 x calls to OneDrive service, driveItem already has the size value to check * Add a try block when query for file details
This commit is contained in:
parent
3d7843b237
commit
687080d435
23
src/sync.d
23
src/sync.d
|
@ -963,9 +963,11 @@ final class SyncEngine
|
|||
log.vdebug("OneDrive change is a new local item");
|
||||
// Check if file should be skipped based on size limit
|
||||
if (isItemFile(driveItem)) {
|
||||
if (onedrive.getFileDetails(item.driveId, item.id)["size"].integer >= this.newSizeLimit) {
|
||||
log.vlog("Skipping item - excluded by skip_size config: ", item.name, " (", onedrive.getFileDetails(item.driveId, item.id)["size"].integer/2^^20, " MB)");
|
||||
return;
|
||||
if (cfg.getValueLong("skip_size") != 0) {
|
||||
if (driveItem["size"].integer >= this.newSizeLimit) {
|
||||
log.vlog("Skipping item - excluded by skip_size config: ", item.name, " (", driveItem["size"].integer/2^^20, " MB)");
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
applyNewItem(item, path);
|
||||
|
@ -1097,7 +1099,20 @@ final class SyncEngine
|
|||
{
|
||||
assert(item.type == ItemType.file);
|
||||
write("Downloading file ", path, " ... ");
|
||||
JSONValue fileDetails = onedrive.getFileDetails(item.driveId, item.id);
|
||||
JSONValue fileDetails;
|
||||
|
||||
try {
|
||||
fileDetails = onedrive.getFileDetails(item.driveId, item.id);
|
||||
} catch (OneDriveException e) {
|
||||
if (e.httpStatusCode >= 500) {
|
||||
// OneDrive returned a 'HTTP 5xx Server Side Error' - gracefully handling error - error message already logged
|
||||
return;
|
||||
} else {
|
||||
// Default operation if not a 500 error
|
||||
log.error("ERROR: Query of OneDrive for file details failed");
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
if (isMalware(fileDetails)){
|
||||
// OneDrive reports that this file is malware
|
||||
|
|
Loading…
Reference in a new issue