diff options
author | Florrie <towerofnix@gmail.com> | 2017-08-14 10:03:13 -0300 |
---|---|---|
committer | Florrie <towerofnix@gmail.com> | 2017-08-14 10:03:13 -0300 |
commit | 3f7bdfd702e47e7063c5fc31a1279c3cd3065fce (patch) | |
tree | ab0211f68e189e955f8b0b2acebbd01c4b9c475b /src | |
parent | b0ca90529ceff209a41bc2c26b25073f5fcc4da2 (diff) |
Make safeUnlink safer
Diffstat (limited to 'src')
-rw-r--r-- | src/playlist-utils.js | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/src/playlist-utils.js b/src/playlist-utils.js index 765a317..479b0c5 100644 --- a/src/playlist-utils.js +++ b/src/playlist-utils.js @@ -293,7 +293,7 @@ function isTrack(obj) { // return typeof array[1] === 'string' } -function safeUnlink(file, playlist) { +async function safeUnlink(file, playlist) { if (!playlist) { throw new Error('No playlist given to safe-unlink.') } @@ -311,7 +311,21 @@ function safeUnlink(file, playlist) { ) } - return unlink(file) + try { + await unlink(file) + } catch(err) { + if (err.code === 'ENOENT') { + console.trace( + `Attempted to delete file "${file}" which does not exist. This ` + + 'could be because of a temporary file being automatically deleted ' + + 'by the system before now, or because of http-music attempting to ' + + 'delete a temporary file which it has already deleted; otherwise ' + + 'this is almost certainly a bug.' + ) + } else { + throw err + } + } } module.exports = { |