aboutsummaryrefslogtreecommitdiffhomepage
path: root/server/tools/peertube-import-videos.ts
diff options
context:
space:
mode:
Diffstat (limited to 'server/tools/peertube-import-videos.ts')
-rw-r--r--server/tools/peertube-import-videos.ts26
1 files changed, 22 insertions, 4 deletions
diff --git a/server/tools/peertube-import-videos.ts b/server/tools/peertube-import-videos.ts
index 21505b79d..f50aafc35 100644
--- a/server/tools/peertube-import-videos.ts
+++ b/server/tools/peertube-import-videos.ts
@@ -6,7 +6,7 @@ import { join } from 'path'
6import { VideoPrivacy } from '../../shared/models/videos' 6import { VideoPrivacy } from '../../shared/models/videos'
7import { doRequestAndSaveToFile } from '../helpers/requests' 7import { doRequestAndSaveToFile } from '../helpers/requests'
8import { CONSTRAINTS_FIELDS } from '../initializers' 8import { CONSTRAINTS_FIELDS } from '../initializers'
9import { getClient, getVideoCategories, login, searchVideoWithSort, uploadVideo } from '../tests/utils' 9import { getClient, getVideoCategories, login, searchVideoWithSort, uploadVideo } from '../../shared/utils/index'
10import { truncate } from 'lodash' 10import { truncate } from 'lodash'
11import * as prompt from 'prompt' 11import * as prompt from 'prompt'
12import { remove } from 'fs-extra' 12import { remove } from 'fs-extra'
@@ -58,6 +58,7 @@ getSettings()
58 settings.remotes[settings.default] : 58 settings.remotes[settings.default] :
59 settings.remotes[0] 59 settings.remotes[0]
60 } 60 }
61
61 if (!program['username']) program['username'] = netrc.machines[program['url']].login 62 if (!program['username']) program['username'] = netrc.machines[program['url']].login
62 if (!program['password']) program['password'] = netrc.machines[program['url']].password 63 if (!program['password']) program['password'] = netrc.machines[program['url']].password
63 } 64 }
@@ -69,12 +70,19 @@ getSettings()
69 process.exit(-1) 70 process.exit(-1)
70 } 71 }
71 72
73 removeEndSlashes(program['url'])
74 removeEndSlashes(program['targetUrl'])
75
72 const user = { 76 const user = {
73 username: program['username'], 77 username: program['username'],
74 password: program['password'] 78 password: program['password']
75 } 79 }
76 80
77 run(user, program['url']).catch(err => console.error(err)) 81 run(user, program['url'])
82 .catch(err => {
83 console.error(err)
84 process.exit(-1)
85 })
78}) 86})
79 87
80async function promptPassword () { 88async function promptPassword () {
@@ -108,8 +116,12 @@ async function run (user, url: string) {
108 secret: res.body.client_secret 116 secret: res.body.client_secret
109 } 117 }
110 118
111 const res2 = await login(url, client, user) 119 try {
112 accessToken = res2.body.access_token 120 const res = await login(program[ 'url' ], client, user)
121 accessToken = res.body.access_token
122 } catch (err) {
123 throw new Error('Cannot authenticate. Please check your username/password.')
124 }
113 125
114 const youtubeDL = await safeGetYoutubeDL() 126 const youtubeDL = await safeGetYoutubeDL()
115 127
@@ -321,3 +333,9 @@ function isNSFW (info: any) {
321 333
322 return false 334 return false
323} 335}
336
337function removeEndSlashes (url: string) {
338 while (url.endsWith('/')) {
339 url.slice(0, -1)
340 }
341}