import { CONSTRAINTS_FIELDS } from '../initializers'
import { getClient, getVideoCategories, login, searchVideo, uploadVideo } from '../tests/utils'
import { truncate } from 'lodash'
+import * as prompt from 'prompt'
program
.option('-u, --url <url>', 'Server url')
if (
!program['url'] ||
!program['username'] ||
- !program['password'] ||
!program['targetUrl']
) {
console.error('All arguments are required.')
process.exit(-1)
}
-run().catch(err => console.error(err))
-
-let accessToken: string
-let client: { id: string, secret: string }
-
const user = {
username: program['username'],
password: program['password']
}
+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)
+ })
+ })
+}
+
async function run () {
+ if (!user.password) {
+ user.password = await promptPassword()
+ }
+
const res = await getClient(program['url'])
client = {
id: res.body.client_id,
licence,
language,
nsfw: isNSFW(videoInfo),
+ waitTranscoding: true,
commentsEnabled: true,
description: videoInfo.description || undefined,
support: undefined,