Fix update tracklist and invalid parts alert, update readme screenshots

This commit is contained in:
advplyr 2021-08-26 07:09:23 -05:00
parent 3141e74513
commit c208e876d2
12 changed files with 35 additions and 25 deletions

View file

@ -8,6 +8,9 @@ class AudioFile {
this.fullPath = null
this.addedAt = null
this.trackNumFromMeta = null
this.trackNumFromFilename = null
this.format = null
this.duration = null
this.size = null
@ -42,6 +45,8 @@ class AudioFile {
path: this.path,
fullPath: this.fullPath,
addedAt: this.addedAt,
trackNumFromMeta: this.trackNumFromMeta,
trackNumFromFilename: this.trackNumFromFilename,
manuallyVerified: !!this.manuallyVerified,
invalid: !!this.invalid,
error: this.error || null,
@ -73,6 +78,9 @@ class AudioFile {
this.invalid = !!data.invalid
this.error = data.error || null
this.trackNumFromMeta = data.trackNumFromMeta || null
this.trackNumFromFilename = data.trackNumFromFilename || null
this.format = data.format
this.duration = data.duration
this.size = data.size
@ -92,13 +100,16 @@ class AudioFile {
setData(data) {
this.index = data.index || null
this.ino = data.ino
this.ino = data.ino || null
this.filename = data.filename
this.ext = data.ext
this.path = data.path
this.fullPath = data.fullPath
this.addedAt = Date.now()
this.trackNumFromMeta = data.trackNumFromMeta || null
this.trackNumFromFilename = data.trackNumFromFilename || null
this.manuallyVerified = !!data.manuallyVerified
this.invalid = !!data.invalid
this.error = data.error || null

View file

@ -20,7 +20,6 @@ class Audiobook {
this.tracks = []
this.missingParts = []
this.invalidParts = []
this.audioFiles = []
this.otherFiles = []
@ -94,6 +93,10 @@ class Audiobook {
return elapsedPretty(this.totalDuration)
}
get invalidParts() {
return (this.audioFiles || []).filter(af => af.invalid).map(af => ({ filename: af.filename, error: af.error || 'Unknown Error' }))
}
bookToJSON() {
return this.book ? this.book.toJSON() : null
}
@ -115,7 +118,6 @@ class Audiobook {
addedAt: this.addedAt,
lastUpdate: this.lastUpdate,
missingParts: this.missingParts,
invalidParts: this.invalidParts,
tags: this.tags,
book: this.bookToJSON(),
tracks: this.tracksToJSON(),
@ -278,10 +280,9 @@ class Audiobook {
file.invalid = false
file.error = null
file.index = index++
return file
return new AudioFile(file)
})
this.tracks = []
this.invalidParts = []
this.missingParts = []
this.audioFiles.forEach((file) => {
this.addTrack(file)

View file

@ -106,28 +106,28 @@ async function scanAudioFiles(audiobook, newAudioFiles) {
trackNumFromMeta,
trackNumFromFilename
}
audiobook.addAudioFile(audioFileObj)
var audioFile = audiobook.addAudioFile(audioFileObj)
var trackNumber = 1
if (newAudioFiles.length > 1) {
trackNumber = isNumber(trackNumFromMeta) ? trackNumFromMeta : trackNumFromFilename
if (trackNumber === null) {
Logger.error('[AudioFileScanner] Invalid track number for', audioFile.filename)
audioFileObj.invalid = true
audioFileObj.error = 'Failed to get track number'
audioFile.invalid = true
audioFile.error = 'Failed to get track number'
continue;
}
}
if (tracks.find(t => t.index === trackNumber)) {
Logger.error('[AudioFileScanner] Duplicate track number for', audioFile.filename)
audioFileObj.invalid = true
audioFileObj.error = 'Duplicate track number'
audioFile.invalid = true
audioFile.error = 'Duplicate track number'
continue;
}
audioFileObj.index = trackNumber
tracks.push(audioFileObj)
audioFile.index = trackNumber
tracks.push(audioFile)
}
if (!tracks.length) {