Merge pull request #555 from selfhost-alt/handle-corrupted-backups

Handle corrupted backups gracefully and continue loading other backups
This commit is contained in:
advplyr 2022-05-03 06:48:08 -05:00 committed by GitHub
commit a482e5d316
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -131,8 +131,21 @@ class BackupManager {
var filename = filesInDir[i]
if (filename.endsWith('.audiobookshelf')) {
var fullFilePath = Path.join(this.BackupPath, filename)
const zip = new StreamZip.async({ file: fullFilePath })
const data = await zip.entryData('details')
let zip = null
let data = null
try {
zip = new StreamZip.async({ file: fullFilePath })
data = await zip.entryData('details')
} catch (error) {
if (error.message === "Bad archive") {
Logger.warn(`[BackupManager] Backup appears to be corrupted: ${fullFilePath}`)
continue;
} else {
throw error
}
}
var details = data.toString('utf8').split('\n')
var backup = new Backup({ details, fullPath: fullFilePath })