]>
Commit | Line | Data |
---|---|---|
677618d4 C |
1 | 'use strict' |
2 | ||
3 | const program = require('commander') | |
4 | const fs = require('fs') | |
5 | ||
3fad43ac | 6 | const utils = require('../../utils/videos') |
677618d4 C |
7 | |
8 | program | |
9 | .option('-u, --url <url>', 'Server url') | |
10 | .option('-a, --access-token <token>', 'Access token') | |
11 | .option('-n, --name <name>', 'Video name') | |
31b59b47 | 12 | .option('-x, --nsfw', 'Video is Not Safe For Work') |
6f0c39e2 C |
13 | .option('-c, --category <category number>', 'Category number') |
14 | .option('-l, --licence <licence number>', 'Licence number') | |
3092476e | 15 | .option('-g, --language <language number>', 'Language number') |
677618d4 C |
16 | .option('-d, --description <description>', 'Video description') |
17 | .option('-t, --tags <tags>', 'Video tags', list) | |
18 | .option('-f, --file <file>', 'Video absolute file path') | |
19 | .parse(process.argv) | |
20 | ||
21 | if ( | |
22 | !program.url || | |
23 | !program.accessToken || | |
24 | !program.name || | |
6e07c3de | 25 | !program.category || |
6f0c39e2 | 26 | !program.licence || |
3092476e | 27 | !program.language || |
31b59b47 | 28 | !program.nsfw || |
677618d4 C |
29 | !program.description || |
30 | !program.tags || | |
31 | !Array.isArray(program.tags) || | |
32 | program.tags.length === 0 || | |
33 | !program.file | |
34 | ) { | |
35 | throw new Error('All arguments are required.') | |
36 | } | |
37 | ||
38 | fs.access(program.file, fs.F_OK, function (err) { | |
39 | if (err) throw err | |
40 | ||
41 | upload( | |
42 | program.url, | |
43 | program.accessToken, | |
44 | program.name, | |
6e07c3de | 45 | program.category, |
6f0c39e2 | 46 | program.licence, |
3092476e | 47 | program.language, |
31b59b47 | 48 | program.nsfw, |
677618d4 C |
49 | program.description, |
50 | program.tags, | |
51 | program.file | |
52 | ) | |
53 | }) | |
54 | ||
55 | // ---------------------------------------------------------------------------- | |
56 | ||
57 | function list (val) { | |
58 | return val.split(',') | |
59 | } | |
60 | ||
3092476e | 61 | function upload (url, accessToken, name, category, licence, language, nsfw, description, tags, fixture) { |
677618d4 C |
62 | console.log('Uploading %s video...', program.name) |
63 | ||
b4c5ac97 C |
64 | const videoAttributes = { |
65 | name, | |
66 | category, | |
6f0c39e2 | 67 | licence, |
3092476e | 68 | language, |
31b59b47 | 69 | nsfw, |
b4c5ac97 C |
70 | description, |
71 | tags, | |
72 | fixture | |
73 | } | |
74 | utils.uploadVideo(url, accessToken, videoAttributes, function (err) { | |
677618d4 C |
75 | if (err) throw err |
76 | ||
77 | console.log('Video uploaded.') | |
78 | }) | |
79 | } |