import * as program from 'commander'
import { access, constants } from 'fs-extra'
import { isAbsolute } from 'path'
-import { getClient, login } from '../tests/utils'
-import { uploadVideo } from '../tests/utils/index'
+import { getClient, login } from '../../shared/utils'
+import { uploadVideo } from '../../shared/utils/'
import { VideoPrivacy } from '../../shared/models/videos'
import { netrc, getSettings } from './cli'
.option('-P, --privacy <privacy_number>', 'Privacy')
.option('-N, --nsfw', 'Video is Not Safe For Work')
.option('-c, --category <category_number>', 'Category number')
+ .option('-C, --channel-id <channel_id>', 'Channel ID')
.option('-m, --comments-enabled', 'Enable comments')
.option('-l, --licence <licence_number>', 'Licence number')
.option('-L, --language <language_code>', 'Language ISO 639 code (fr or en...)')
process.exit(-1)
}
- run().catch(err => console.error(err))
+ run().catch(err => {
+ console.error(err)
+ process.exit(-1)
+ })
})
async function run () {
password: program[ 'password' ]
}
- const res2 = await login(program[ 'url' ], client, user)
- const accessToken = res2.body.access_token
+ let accessToken: string
+ try {
+ const res2 = await login(program[ 'url' ], client, user)
+ accessToken = res2.body.access_token
+ } catch (err) {
+ throw new Error('Cannot authenticate. Please check your username/password.')
+ }
await access(program[ 'file' ], constants.F_OK)
const videoAttributes = {
name: program['videoName'],
category: program['category'],
+ channelId: program['channelId'],
licence: program['licence'],
language: program['language'],
nsfw: program['nsfw'],
support: undefined
}
- await uploadVideo(program['url'], accessToken, videoAttributes)
+ await uploadVideo(program[ 'url' ], accessToken, videoAttributes)
console.log(`Video ${program['videoName']} uploaded.`)
process.exit(0)