mirror of
https://github.com/advplyr/audiobookshelf.git
synced 2025-12-26 21:59:38 +00:00
parent
8512d5e693
commit
1dec8ae122
13 changed files with 213 additions and 83 deletions
|
|
@ -188,10 +188,11 @@ class AbMergeManager {
|
|||
if (error.message === 'FFMPEG_CANCELED') {
|
||||
Logger.info(`[AbMergeManager] Task cancelled ${task.id}`)
|
||||
} else {
|
||||
Logger.error(`[AbMergeManager] Failed to write metadata to file "${task.data.tempFilepath}"`)
|
||||
Logger.error(`[AbMergeManager] Failed to embed metadata in file "${task.data.tempFilepath}"`)
|
||||
const taskFailedString = {
|
||||
text: 'Failed to write metadata to m4b file',
|
||||
key: 'MessageTaskFailedToWriteMetadataToM4bFile'
|
||||
text: `Failed to embed metadata in file ${Path.basename(task.data.tempFilepath)}`,
|
||||
key: 'MessageTaskFailedToEmbedMetadataInFile',
|
||||
subs: [Path.basename(task.data.tempFilepath)]
|
||||
}
|
||||
task.setFailed(taskFailedString)
|
||||
this.removeTask(task, true)
|
||||
|
|
|
|||
|
|
@ -121,6 +121,10 @@ class AudioMetadataMangaer {
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param {import('../objects/Task')} task
|
||||
*/
|
||||
async runMetadataEmbed(task) {
|
||||
this.tasksRunning.push(task)
|
||||
TaskManager.addTask(task)
|
||||
|
|
@ -132,7 +136,11 @@ class AudioMetadataMangaer {
|
|||
Logger.debug(`[AudioMetadataManager] Target directory ${task.data.libraryItemDir} writable: ${targetDirWritable}`)
|
||||
if (!targetDirWritable) {
|
||||
Logger.error(`[AudioMetadataManager] Target directory is not writable: ${task.data.libraryItemDir}`)
|
||||
task.setFailedText('Target directory is not writable')
|
||||
const taskFailedString = {
|
||||
text: 'Target directory is not writable',
|
||||
key: 'MessageTaskTargetDirectoryNotWritable'
|
||||
}
|
||||
task.setFailed(taskFailedString)
|
||||
this.handleTaskFinished(task)
|
||||
return
|
||||
}
|
||||
|
|
@ -143,7 +151,12 @@ class AudioMetadataMangaer {
|
|||
await fs.access(af.path, fs.constants.W_OK)
|
||||
} catch (err) {
|
||||
Logger.error(`[AudioMetadataManager] Audio file is not writable: ${af.path}`)
|
||||
task.setFailedText(`Audio file "${Path.basename(af.path)}" is not writable`)
|
||||
const taskFailedString = {
|
||||
text: `Audio file "${Path.basename(af.path)}" is not writable`,
|
||||
key: 'MessageTaskAudioFileNotWritable',
|
||||
subs: [Path.basename(af.path)]
|
||||
}
|
||||
task.setFailed(taskFailedString)
|
||||
this.handleTaskFinished(task)
|
||||
return
|
||||
}
|
||||
|
|
@ -157,7 +170,11 @@ class AudioMetadataMangaer {
|
|||
cacheDirCreated = true
|
||||
} catch (err) {
|
||||
Logger.error(`[AudioMetadataManager] Failed to create cache directory ${task.data.itemCachePath}`, err)
|
||||
task.setFailedText('Failed to create cache directory')
|
||||
const taskFailedString = {
|
||||
text: 'Failed to create cache directory',
|
||||
key: 'MessageTaskFailedToCreateCacheDirectory'
|
||||
}
|
||||
task.setFailed(taskFailedString)
|
||||
this.handleTaskFinished(task)
|
||||
return
|
||||
}
|
||||
|
|
@ -168,7 +185,11 @@ class AudioMetadataMangaer {
|
|||
const success = await ffmpegHelpers.writeFFMetadataFile(task.data.metadataObject, task.data.chapters, ffmetadataPath)
|
||||
if (!success) {
|
||||
Logger.error(`[AudioMetadataManager] Failed to write ffmetadata file for audiobook "${task.data.libraryItemId}"`)
|
||||
task.setFailedText('Failed to write metadata file.')
|
||||
const taskFailedString = {
|
||||
text: 'Failed to write metadata file',
|
||||
key: 'MessageTaskFailedToWriteMetadataFile'
|
||||
}
|
||||
task.setFailed(taskFailedString)
|
||||
this.handleTaskFinished(task)
|
||||
return
|
||||
}
|
||||
|
|
@ -190,7 +211,12 @@ class AudioMetadataMangaer {
|
|||
Logger.debug(`[AudioMetadataManager] Backed up audio file at "${backupFilePath}"`)
|
||||
} catch (err) {
|
||||
Logger.error(`[AudioMetadataManager] Failed to backup audio file "${af.path}"`, err)
|
||||
task.setFailedText(`Failed to backup audio file "${Path.basename(af.path)}"`)
|
||||
const taskFailedString = {
|
||||
text: `Failed to backup audio file "${Path.basename(af.path)}"`,
|
||||
key: 'MessageTaskFailedToBackupAudioFile',
|
||||
subs: [Path.basename(af.path)]
|
||||
}
|
||||
task.setFailed(taskFailedString)
|
||||
this.handleTaskFinished(task)
|
||||
return
|
||||
}
|
||||
|
|
@ -204,7 +230,12 @@ class AudioMetadataMangaer {
|
|||
Logger.info(`[AudioMetadataManager] Successfully tagged audio file "${af.path}"`)
|
||||
} catch (err) {
|
||||
Logger.error(`[AudioMetadataManager] Failed to tag audio file "${af.path}"`, err)
|
||||
task.setFailedText(`Failed to tag audio file "${Path.basename(af.path)}"`)
|
||||
const taskFailedString = {
|
||||
text: `Failed to embed metadata in file "${Path.basename(af.path)}"`,
|
||||
key: 'MessageTaskFailedToEmbedMetadataInFile',
|
||||
subs: [Path.basename(af.path)]
|
||||
}
|
||||
task.setFailed(taskFailedString)
|
||||
this.handleTaskFinished(task)
|
||||
return
|
||||
}
|
||||
|
|
|
|||
|
|
@ -127,14 +127,22 @@ class PodcastManager {
|
|||
if (!success) {
|
||||
await fs.remove(this.currentDownload.targetPath)
|
||||
this.currentDownload.setFinished(false)
|
||||
task.setFailedText('Failed to download episode')
|
||||
const taskFailedString = {
|
||||
text: 'Failed',
|
||||
key: 'MessageTaskFailed'
|
||||
}
|
||||
task.setFailed(taskFailedString)
|
||||
} else {
|
||||
Logger.info(`[PodcastManager] Successfully downloaded podcast episode "${this.currentDownload.podcastEpisode.title}"`)
|
||||
this.currentDownload.setFinished(true)
|
||||
task.setFinished()
|
||||
}
|
||||
} else {
|
||||
task.setFailedText('Failed to download episode')
|
||||
const taskFailedString = {
|
||||
text: 'Failed',
|
||||
key: 'MessageTaskFailed'
|
||||
}
|
||||
task.setFailed(taskFailedString)
|
||||
this.currentDownload.setFinished(false)
|
||||
}
|
||||
|
||||
|
|
@ -560,7 +568,12 @@ class PodcastManager {
|
|||
|
||||
numPodcastsAdded++
|
||||
}
|
||||
task.setFinished(`Added ${numPodcastsAdded} podcasts`)
|
||||
const taskFinishedString = {
|
||||
text: `Added ${numPodcastsAdded} podcasts`,
|
||||
key: 'MessageTaskOpmlImportFinished',
|
||||
subs: [numPodcastsAdded]
|
||||
}
|
||||
task.setFinished(taskFinishedString)
|
||||
TaskManager.taskFinished(task)
|
||||
Logger.info(`[PodcastManager] createPodcastsFromFeedUrls: Finished OPML import. Created ${numPodcastsAdded} podcasts out of ${rssFeedUrls.length} RSS feed URLs`)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -63,7 +63,7 @@ class TaskManager {
|
|||
createAndEmitFailedTask(action, titleString, descriptionString, errorMessageString) {
|
||||
const task = new Task()
|
||||
task.setData(action, titleString, descriptionString, false)
|
||||
task.setFailedText(errorMessageString)
|
||||
task.setFailed(errorMessageString)
|
||||
SocketAuthority.emitter('task_started', task.toJSON())
|
||||
return task
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue