Add nsfw support in import-videos
authorChocobozzz <me@florianbigard.com>
Tue, 20 Feb 2018 17:56:43 +0000 (18:56 +0100)
committerChocobozzz <me@florianbigard.com>
Tue, 20 Feb 2018 18:05:14 +0000 (19:05 +0100)
server/tools/import-videos.ts

index d29a2c6f316f8700c4f61adc494cb1bf7cbf8428..11f0257a964f3a770b557a655c06fe21aca9cce4 100644 (file)
@@ -114,7 +114,7 @@ async function uploadVideoOnPeerTube (videoInfo: any, videoPath: string, languag
   let tags = []
   if (Array.isArray(videoInfo.tags)) {
     tags = videoInfo.tags
-      .filter(t => t.length < CONSTRAINTS_FIELDS.VIDEOS.TAG.max)
+      .filter(t => t.length < CONSTRAINTS_FIELDS.VIDEOS.TAG.max && t.length > CONSTRAINTS_FIELDS.VIDEOS.TAG.min)
       .map(t => t.normalize())
       .slice(0, 5)
   }
@@ -134,7 +134,7 @@ async function uploadVideoOnPeerTube (videoInfo: any, videoPath: string, languag
     category,
     licence,
     language,
-    nsfw: false,
+    nsfw: isNSFW(videoInfo),
     commentsEnabled: true,
     description: videoInfo.description,
     tags,
@@ -227,9 +227,18 @@ function fetchObject (info: any) {
 }
 
 function buildUrl (info: any) {
+  const webpageUrl = info.webpage_url as string
+  if (webpageUrl && webpageUrl.match(/^https?:\/\//)) return webpageUrl
+
   const url = info.url as string
-  if (url && url.match(/^https?:\/\//)) return info.url
+  if (url && url.match(/^https?:\/\//)) return url
 
   // It seems youtube-dl does not return the video url
   return 'https://www.youtube.com/watch?v=' + info.id
 }
+
+function isNSFW (info: any) {
+  if (info.age_limit && info.age_limit >= 16) return true
+
+  return false
+}