« get me outta code hell

mtui - Music Text User Interface - user-friendly command line music player
about summary refs log tree commit diff
path: root/downloaders.js
diff options
context:
space:
mode:
Diffstat (limited to 'downloaders.js')
-rw-r--r--downloaders.js19
1 files changed, 10 insertions, 9 deletions
diff --git a/downloaders.js b/downloaders.js
index 9e7c786..8dbdea8 100644
--- a/downloaders.js
+++ b/downloaders.js
@@ -8,9 +8,9 @@ import url from 'node:url'
 import {mkdirp} from 'mkdirp'
 import fetch from 'node-fetch'
 import sanitize from 'sanitize-filename'
-import tempy from 'tempy'
 
 import {promisifyProcess} from './general-util.js'
+import temporaryDirectory from './tempdir.js'
 
 const copyFile = (source, target) => {
   // Stolen from https://stackoverflow.com/a/30405105/4633828
@@ -110,9 +110,10 @@ downloaders.http =
       return hostname + pathname
     },
     arg => {
-      const out = (
-        tempy.directory() + '/' +
-        sanitize(decodeURIComponent(path.basename(arg))))
+      const out =
+        path.join(
+          temporaryDirectory(),
+          sanitize(decodeURIComponent(path.basename(arg))))
 
       return fetch(arg)
         .then(response => response.buffer())
@@ -124,8 +125,8 @@ downloaders.youtubedl =
   cachify('youtubedl',
     arg => (arg.match(/watch\?v=(.*)/) || ['', arg])[1],
     arg => {
-      const outDir = tempy.directory()
-      const outFile = outDir + '/%(id)s-%(uploader)s-%(title)s.%(ext)s'
+      const outDir = temporaryDirectory()
+      const outFile = path.join(outDir, '%(id)s-%(uploader)s-%(title)s.%(ext)s')
 
       const opts = [
         '--quiet',
@@ -138,7 +139,7 @@ downloaders.youtubedl =
 
       return promisifyProcess(spawn('youtube-dl', opts))
         .then(() => readdir(outDir))
-        .then(files => outDir + '/' + files[0])
+        .then(files => path.join(outDir, files[0]))
     })
 
 downloaders.local =
@@ -166,7 +167,7 @@ downloaders.local =
       // TODO: Is it necessary to sanitize here?
       // Haha, the answer to "should I sanitize" is probably always YES..
       const base = path.basename(arg, path.extname(arg))
-      const out = tempy.directory() + '/' + sanitize(base) + path.extname(arg)
+      const out = path.join(temporaryDirectory(), sanitize(base) + path.extname(arg))
 
       return copyFile(arg, out)
         .then(() => out)
@@ -180,7 +181,7 @@ downloaders.locallink =
 
       arg = removeFileProtocol(arg)
       const base = path.basename(arg, path.extname(arg))
-      const out = tempy.directory() + '/' + sanitize(base) + path.extname(arg)
+      const out = path.join(temporaryDirectory(), sanitize(base) + path.extname(arg))
 
       return symlink(path.resolve(arg), out)
         .then(() => out)