From 4228939b55f5a513d4a88cf624431b140e3e5f4c Mon Sep 17 00:00:00 2001 From: James Ketrenos Date: Fri, 14 Sep 2018 12:03:35 -0700 Subject: [PATCH] Failures during scanning will now exit the app instead of hanging. Signed-off-by: James Ketrenos --- server/scanner.js | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/server/scanner.js b/server/scanner.js index 712e75f..90d729a 100644 --- a/server/scanner.js +++ b/server/scanner.js @@ -130,6 +130,9 @@ function scanDir(parent, path) { if (stats.isDirectory()) { return scanDir(parent, filepath, stats).then(function(entry) { return resolve(true); + }).catch(function(error) { + console.warn("scanDir failed"); + return reject(error); }); } @@ -154,6 +157,9 @@ function scanDir(parent, path) { processQueue.push([ replacements.path, file, stats.mtime, parent ]); } return resolve(true); + }).catch(function(error) { + console.error("Sequelize.query failed"); + return reject(error); }); }); }); @@ -168,6 +174,9 @@ function scanDir(parent, path) { }).then(function() { return resolve(); }); + }).catch(function(error) { + console.error("Processing 'tmp' failed"); + return reject(error); }); }); }); @@ -255,6 +264,10 @@ function convertRawToJpg(path, file) { let error = "UFRAW for " + path + "/" + file + " returned an error: " + code + "\n" + signal + "\n" + stderr.join("\n") + "\n"; console.error(error); return moveCorrupt(path, file).then(function() { + console.warn("ufraw failed"); + return reject(error); + }).catch(function(error) { + console.warn("moveCorrupt failed"); return reject(error); }); } @@ -266,6 +279,9 @@ function convertRawToJpg(path, file) { } return resolve(); }); + }).catch(function(error) { + console.warn("mkdirPromise failed"); + return reject(error); }); }.bind(this, stderr)); }); @@ -285,9 +301,8 @@ function moveCorrupt(path, file) { if (err) { console.error("Unable to move corrupt file: " + path + "/" + file); return reject(err); - } else { - return resolve(); } + return resolve(); }); }); });