]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - server/tools/import-videos.ts
Limit associations fetch when loading token
[github/Chocobozzz/PeerTube.git] / server / tools / import-videos.ts
index 678503a3e6cec4338ca7b801f84c6a31b65cdef3..3ff194c83110b083ae44ea9f1b290f24b19d9d7b 100644 (file)
@@ -5,12 +5,12 @@ import * as program from 'commander'
 import { join } from 'path'
 import * as youtubeDL from 'youtube-dl'
 import { VideoPrivacy } from '../../shared/models/videos'
-import { unlinkPromise } from '../helpers/core-utils'
 import { doRequestAndSaveToFile } from '../helpers/requests'
 import { CONSTRAINTS_FIELDS } from '../initializers'
-import { getClient, getVideoCategories, login, searchVideo, uploadVideo } from '../tests/utils'
+import { getClient, getVideoCategories, login, searchVideoWithSort, uploadVideo } from '../tests/utils'
 import { truncate } from 'lodash'
 import * as prompt from 'prompt'
+import { remove } from 'fs-extra'
 
 program
   .option('-u, --url <url>', 'Server url')
@@ -39,29 +39,29 @@ run().catch(err => console.error(err))
 
 let accessToken: string
 let client: { id: string, secret: string }
-  
+
 const processOptions = {
   cwd: __dirname,
   maxBuffer: Infinity
 }
 
 async function promptPassword () {
-  return new Promise ( (res, rej) => {
-   prompt.start()
-   const schema = {
-     properties: {
-       password: {
-         hidden: true,
-         required: true
-       }
-     }
-   }
-   prompt.get(schema, function (err, result) {
-     if (err) {
-       return rej(err);
-     }
-     return res(result.password)
-   })
+  return new Promise((res, rej) => {
+    prompt.start()
+    const schema = {
+      properties: {
+        password: {
+          hidden: true,
+          required: true
+        }
+      }
+    }
+    prompt.get(schema, function (err, result) {
+      if (err) {
+        return rej(err)
+      }
+      return res(result.password)
+    })
   })
 }
 
@@ -69,7 +69,7 @@ async function run () {
   if (!user.password) {
     user.password = await promptPassword()
   }
-  
+
   const res = await getClient(program['url'])
   client = {
     id: res.body.client_id,
@@ -113,7 +113,7 @@ function processVideo (info: any, languageCode: string) {
     const videoInfo = await fetchObject(info)
     if (program['verbose']) console.log('Fetched object.', videoInfo)
 
-    const result = await searchVideo(program['url'], videoInfo.title)
+    const result = await searchVideoWithSort(program['url'], videoInfo.title, '-match')
 
     console.log('############################################################\n')
 
@@ -176,6 +176,7 @@ async function uploadVideoOnPeerTube (videoInfo: any, videoPath: string, languag
     licence,
     language,
     nsfw: isNSFW(videoInfo),
+    waitTranscoding: true,
     commentsEnabled: true,
     description: videoInfo.description || undefined,
     support: undefined,
@@ -203,10 +204,8 @@ async function uploadVideoOnPeerTube (videoInfo: any, videoPath: string, languag
     }
   }
 
-  await unlinkPromise(videoPath)
-  if (thumbnailfile) {
-    await unlinkPromise(thumbnailfile)
-  }
+  await remove(videoPath)
+  if (thumbnailfile) await remove(thumbnailfile)
 
   console.log('Uploaded video "%s"!\n', videoAttributes.name)
 }