]>
Commit | Line | Data |
---|---|---|
677618d4 C |
1 | 'use strict' |
2 | ||
3 | const program = require('commander') | |
4 | const eachSeries = require('async/eachSeries') | |
5 | const exec = require('child_process').exec | |
6 | const fs = require('fs') | |
7 | const path = require('path') | |
8 | ||
9 | program | |
10 | .option('-u, --url <url>', 'Server url') | |
11 | .option('-n, --username <username>', 'Username') | |
12 | .option('-p, --password <token>', 'Password') | |
13 | .option('-i, --directory <directory>', 'Videos directory absolute path') | |
14 | .option('-d, --description <description>', 'Video description') | |
15 | .option('-t, --tags <tags>', 'Video tags', list) | |
16 | .parse(process.argv) | |
17 | ||
18 | if ( | |
19 | !program.url || | |
20 | !program.username || | |
21 | !program.password || | |
22 | !program.directory || | |
23 | !program.description || | |
24 | !program.tags | |
25 | ) { | |
26 | throw new Error('All arguments are required.') | |
27 | } | |
28 | ||
29 | exec('node ./get-access-token -u "' + program.url + '" -n "' + program.username + '" -p "' + program.password + '"', function (err, stdout) { | |
30 | if (err) throw err | |
31 | ||
32 | const accessToken = stdout.replace('\n', '') | |
33 | ||
34 | fs.readdir(program.directory, function (err, files) { | |
35 | if (err) throw err | |
36 | ||
37 | eachSeries(files, function (file, callbackEach) { | |
38 | const video = { | |
39 | tags: program.tags, | |
40 | name: file, | |
41 | description: program.description | |
42 | } | |
43 | ||
44 | let command = 'node ./upload' | |
45 | command += ' -u "' + program.url + '"' | |
46 | command += ' -a "' + accessToken + '"' | |
47 | command += ' -n "' + video.name + '"' | |
48 | command += ' -d "' + video.description + '"' | |
49 | command += ' -t "' + video.tags.join(',') + '"' | |
50 | command += ' -f "' + path.join(program.directory, file) + '"' | |
51 | ||
52 | exec(command, function (err, stdout) { | |
53 | if (err) console.log(err) | |
54 | ||
55 | console.log(stdout) | |
56 | ||
57 | return callbackEach() | |
58 | }) | |
59 | }) | |
60 | }) | |
61 | }) | |
62 | ||
63 | // ---------------------------------------------------------------------------- | |
64 | ||
65 | function list (val) { | |
66 | return val.split(',') | |
67 | } |