// Leave empty the extension, youtube-dl will add it
const pathWithoutExtension = generateVideoImportTmpPath(this.url, '')
- let timer: NodeJS.Timeout
-
logger.info('Importing youtubeDL video %s to %s', this.url, pathWithoutExtension, lTags())
const youtubeDL = await YoutubeDLCLI.safeGet()
+ let timer: NodeJS.Timeout
const timeoutPromise = new Promise<string>((_, rej) => {
timer = setTimeout(() => rej(new Error('YoutubeDL download timeout.')), timeout)
})
})
return Promise.race([ downloadPromise, timeoutPromise ])
- .catch(async err => {
- const path = await this.guessVideoPathWithExtension(pathWithoutExtension, fileExt)
-
- remove(path)
- .catch(err => logger.error('Cannot remove file in youtubeDL timeout.', { err, ...lTags() }))
+ .catch(err => {
+ this.guessVideoPathWithExtension(pathWithoutExtension, fileExt)
+ .then(path => {
+ logger.debug('Error in youtube-dl import, deleting file %s.', path, { err, ...lTags() })
+
+ return remove(path)
+ })
+ .catch(innerErr => logger.error('Cannot remove file in youtubeDL timeout.', { innerErr, ...lTags() }))
throw err
})