mirror of https://github.com/Chocobozzz/PeerTube
				
				
				
			
		
			
				
	
	
		
			68 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			JavaScript
		
	
	
			
		
		
	
	
			68 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			JavaScript
		
	
	
| 'use strict'
 | |
| 
 | |
| const program = require('commander')
 | |
| const eachSeries = require('async/eachSeries')
 | |
| const exec = require('child_process').exec
 | |
| const fs = require('fs')
 | |
| const path = require('path')
 | |
| 
 | |
| program
 | |
|   .option('-u, --url <url>', 'Server url')
 | |
|   .option('-n, --username <username>', 'Username')
 | |
|   .option('-p, --password <token>', 'Password')
 | |
|   .option('-i, --directory <directory>', 'Videos directory absolute path')
 | |
|   .option('-d, --description <description>', 'Video description')
 | |
|   .option('-t, --tags <tags>', 'Video tags', list)
 | |
|   .parse(process.argv)
 | |
| 
 | |
| if (
 | |
|   !program.url ||
 | |
|   !program.username ||
 | |
|   !program.password ||
 | |
|   !program.directory ||
 | |
|   !program.description ||
 | |
|   !program.tags
 | |
| ) {
 | |
|   throw new Error('All arguments are required.')
 | |
| }
 | |
| 
 | |
| exec('node ./get-access-token -u "' + program.url + '" -n "' + program.username + '" -p "' + program.password + '"', function (err, stdout) {
 | |
|   if (err) throw err
 | |
| 
 | |
|   const accessToken = stdout.replace('\n', '')
 | |
| 
 | |
|   fs.readdir(program.directory, function (err, files) {
 | |
|     if (err) throw err
 | |
| 
 | |
|     eachSeries(files, function (file, callbackEach) {
 | |
|       const video = {
 | |
|         tags: program.tags,
 | |
|         name: file,
 | |
|         description: program.description
 | |
|       }
 | |
| 
 | |
|       let command = 'node ./upload'
 | |
|       command += ' -u "' + program.url + '"'
 | |
|       command += ' -a "' + accessToken + '"'
 | |
|       command += ' -n "' + video.name + '"'
 | |
|       command += ' -d "' + video.description + '"'
 | |
|       command += ' -t "' + video.tags.join(',') + '"'
 | |
|       command += ' -f "' + path.join(program.directory, file) + '"'
 | |
| 
 | |
|       exec(command, function (err, stdout) {
 | |
|         if (err) console.log(err)
 | |
| 
 | |
|         console.log(stdout)
 | |
| 
 | |
|         return callbackEach()
 | |
|       })
 | |
|     })
 | |
|   })
 | |
| })
 | |
| 
 | |
| // ----------------------------------------------------------------------------
 | |
| 
 | |
| function list (val) {
 | |
|   return val.split(',')
 | |
| }
 |