]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - server/helpers/youtube-dl.ts
Refactor markdown/sanitize html code
[github/Chocobozzz/PeerTube.git] / server / helpers / youtube-dl.ts
index f0944b94f85967a7236ae6094df5726efb670fc0..c2aa8870ae3b5d7627899077b6138241b750ab35 100644 (file)
@@ -61,22 +61,22 @@ function getYoutubeDLSubs (url: string, opts?: object): Promise<YoutubeDLSubs> {
       .then(youtubeDL => {
         youtubeDL.getSubs(url, options, (err, files) => {
           if (err) return rej(err)
+          if (!files) return []
 
           logger.debug('Get subtitles from youtube dl.', { url, files })
 
           const subtitles = files.reduce((acc, filename) => {
             const matched = filename.match(/\.([a-z]{2})\.(vtt|ttml)/i)
-
-            if (matched[1]) {
-              return [
-                ...acc,
-                {
-                  language: matched[1],
-                  path: join(cwd, filename),
-                  filename
-                }
-              ]
-            }
+            if (!matched || !matched[1]) return acc
+
+            return [
+              ...acc,
+              {
+                language: matched[1],
+                path: join(cwd, filename),
+                filename
+              }
+            ]
           }, [])
 
           return res(subtitles)
@@ -138,7 +138,7 @@ async function updateYoutubeDLBinary () {
   const binDirectory = join(root(), 'node_modules', 'youtube-dl', 'bin')
   const bin = join(binDirectory, 'youtube-dl')
   const detailsPath = join(binDirectory, 'details')
-  const url = 'https://yt-dl.org/downloads/latest/youtube-dl'
+  const url = process.env.YOUTUBE_DL_DOWNLOAD_HOST || 'https://yt-dl.org/downloads/latest/youtube-dl'
 
   await ensureDir(binDirectory)