import-videos: prompt for password
This commit is contained in:
parent
8be1afa12b
commit
066fc8ba71
|
@ -138,6 +138,7 @@
|
|||
"maildev": "^1.0.0-rc3",
|
||||
"mocha": "^5.0.0",
|
||||
"nodemon": "^1.11.0",
|
||||
"prompt": "^1.0.0",
|
||||
"source-map-support": "^0.5.0",
|
||||
"spectacle-docs": "^1.0.2",
|
||||
"supertest": "^3.0.0",
|
||||
|
|
|
@ -10,6 +10,7 @@ import { doRequestAndSaveToFile } from '../helpers/requests'
|
|||
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')
|
||||
|
@ -23,29 +24,54 @@ program
|
|||
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 ( resolve => {
|
||||
prompt.start()
|
||||
const schema = {
|
||||
properties: {
|
||||
password: {
|
||||
hidden:true,
|
||||
required:true
|
||||
}
|
||||
}
|
||||
}
|
||||
prompt.get(schema, function(err, result) {
|
||||
if (err) {
|
||||
console.log(err.message)
|
||||
}
|
||||
resolve(result.password)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
async function run () {
|
||||
if (
|
||||
!user.password
|
||||
) {
|
||||
user.password = await promptPassword();
|
||||
}
|
||||
|
||||
const res = await getClient(program['url'])
|
||||
client = {
|
||||
id: res.body.client_id,
|
||||
|
|
|
@ -53,7 +53,7 @@ $ node dist/server/tools/import-videos.js -u "PEERTUBE_URL" -U "PEERTUBE_USER" -
|
|||
|
||||
* PEERTUBE_URL : the full URL of your PeerTube server where you want to import, eg: https://peertube.cpy.re/
|
||||
* PEERTUBE_USER : your PeerTube account where videos will be uploaded
|
||||
* PEERTUBE_PASSWORD : password of your PeerTube account
|
||||
* PEERTUBE_PASSWORD : password of your PeerTube account (if ommited, you will be prompted for)
|
||||
* TARGET_URL : the target url you want to import. Examples:
|
||||
* YouTube:
|
||||
* Channel: https://www.youtube.com/channel/ChannelId
|
||||
|
|
92
yarn.lock
92
yarn.lock
|
@ -570,6 +570,10 @@ async@~0.2.6, async@~0.2.9:
|
|||
version "0.2.10"
|
||||
resolved "https://registry.yarnpkg.com/async/-/async-0.2.10.tgz#b6bbe0b0674b9d719708ca38de8c237cb526c3d1"
|
||||
|
||||
async@~1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/async/-/async-1.0.0.tgz#f8fc04ca3a13784ade9e1641af98578cfbd647a9"
|
||||
|
||||
asynckit@^0.4.0:
|
||||
version "0.4.0"
|
||||
resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
|
||||
|
@ -1322,6 +1326,14 @@ colornames@0.0.2:
|
|||
version "0.0.2"
|
||||
resolved "https://registry.yarnpkg.com/colornames/-/colornames-0.0.2.tgz#d811fd6c84f59029499a8ac4436202935b92be31"
|
||||
|
||||
colors@1.0.x:
|
||||
version "1.0.3"
|
||||
resolved "https://registry.yarnpkg.com/colors/-/colors-1.0.3.tgz#0433f44d809680fdeb60ed260f1b0c262e82a40b"
|
||||
|
||||
colors@^1.1.2:
|
||||
version "1.2.4"
|
||||
resolved "https://registry.yarnpkg.com/colors/-/colors-1.2.4.tgz#e0cb41d3e4b20806b3bfc27f4559f01b94bc2f7c"
|
||||
|
||||
colors@^1.2.0:
|
||||
version "1.2.1"
|
||||
resolved "https://registry.yarnpkg.com/colors/-/colors-1.2.1.tgz#f4a3d302976aaf042356ba1ade3b1a2c62d9d794"
|
||||
|
@ -1600,6 +1612,10 @@ currently-unhandled@^0.4.1:
|
|||
dependencies:
|
||||
array-find-index "^1.0.1"
|
||||
|
||||
cycle@1.0.x:
|
||||
version "1.0.3"
|
||||
resolved "https://registry.yarnpkg.com/cycle/-/cycle-1.0.3.tgz#21e80b2be8580f98b468f379430662b046c34ad2"
|
||||
|
||||
dashdash@^1.12.0:
|
||||
version "1.14.1"
|
||||
resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0"
|
||||
|
@ -1668,6 +1684,10 @@ deep-eql@^3.0.0:
|
|||
dependencies:
|
||||
type-detect "^4.0.0"
|
||||
|
||||
deep-equal@~0.2.1:
|
||||
version "0.2.2"
|
||||
resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-0.2.2.tgz#84b745896f34c684e98f2ce0e42abaf43bba017d"
|
||||
|
||||
deep-extend@~0.4.0:
|
||||
version "0.4.2"
|
||||
resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.4.2.tgz#48b699c27e334bf89f10892be432f6e4c7d34a7f"
|
||||
|
@ -2155,6 +2175,10 @@ extsprintf@^1.2.0:
|
|||
version "1.4.0"
|
||||
resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f"
|
||||
|
||||
eyes@0.1.x:
|
||||
version "0.1.8"
|
||||
resolved "https://registry.yarnpkg.com/eyes/-/eyes-0.1.8.tgz#62cf120234c683785d902348a800ef3e0cc20bc0"
|
||||
|
||||
fast-deep-equal@^1.0.0:
|
||||
version "1.1.0"
|
||||
resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz#c053477817c86b51daa853c81e059b733d023614"
|
||||
|
@ -3003,6 +3027,10 @@ http-signature@~1.2.0:
|
|||
jsprim "^1.2.2"
|
||||
sshpk "^1.7.0"
|
||||
|
||||
i@0.3.x:
|
||||
version "0.3.6"
|
||||
resolved "https://registry.yarnpkg.com/i/-/i-0.3.6.tgz#d96c92732076f072711b6b10fd7d4f65ad8ee23d"
|
||||
|
||||
iconv-lite@0.4.19:
|
||||
version "0.4.19"
|
||||
resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.19.tgz#f7468f60135f5e5dad3399c0a81be9a1603a082b"
|
||||
|
@ -4070,7 +4098,7 @@ mixin-deep@^1.2.0:
|
|||
for-in "^1.0.2"
|
||||
is-extendable "^1.0.1"
|
||||
|
||||
mkdirp@0.5.1, mkdirp@0.5.x, "mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.0:
|
||||
mkdirp@0.5.1, mkdirp@0.5.x, mkdirp@0.x.x, "mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.0:
|
||||
version "0.5.1"
|
||||
resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903"
|
||||
dependencies:
|
||||
|
@ -4166,6 +4194,10 @@ multistream@^2.0.2, multistream@^2.0.5:
|
|||
inherits "^2.0.1"
|
||||
readable-stream "^2.0.5"
|
||||
|
||||
mute-stream@~0.0.4:
|
||||
version "0.0.7"
|
||||
resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab"
|
||||
|
||||
nan@2.6.2:
|
||||
version "2.6.2"
|
||||
resolved "https://registry.yarnpkg.com/nan/-/nan-2.6.2.tgz#e4ff34e6c95fdfb5aecc08de6596f43605a7db45"
|
||||
|
@ -4207,6 +4239,10 @@ natural@^0.2.0:
|
|||
sylvester ">= 0.0.12"
|
||||
underscore ">=1.3.1"
|
||||
|
||||
ncp@1.0.x:
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/ncp/-/ncp-1.0.1.tgz#d15367e5cb87432ba117d2bf80fdf45aecfb4246"
|
||||
|
||||
negotiator@0.5.3:
|
||||
version "0.5.3"
|
||||
resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.5.3.tgz#269d5c476810ec92edbe7b6c2f28316384f9a7e8"
|
||||
|
@ -4779,6 +4815,14 @@ pinkie@^2.0.0:
|
|||
version "2.0.4"
|
||||
resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870"
|
||||
|
||||
pkginfo@0.3.x:
|
||||
version "0.3.1"
|
||||
resolved "https://registry.yarnpkg.com/pkginfo/-/pkginfo-0.3.1.tgz#5b29f6a81f70717142e09e765bbeab97b4f81e21"
|
||||
|
||||
pkginfo@0.x.x:
|
||||
version "0.4.1"
|
||||
resolved "https://registry.yarnpkg.com/pkginfo/-/pkginfo-0.4.1.tgz#b5418ef0439de5425fc4995042dced14fb2a84ff"
|
||||
|
||||
portscanner@^1.0.0:
|
||||
version "1.2.0"
|
||||
resolved "https://registry.yarnpkg.com/portscanner/-/portscanner-1.2.0.tgz#b14bbda257d14c310fa9cc09682af02d40961802"
|
||||
|
@ -4869,6 +4913,17 @@ promisify-any@2.0.1:
|
|||
co-bluebird "^1.1.0"
|
||||
is-generator "^1.0.2"
|
||||
|
||||
prompt@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/prompt/-/prompt-1.0.0.tgz#8e57123c396ab988897fb327fd3aedc3e735e4fe"
|
||||
dependencies:
|
||||
colors "^1.1.2"
|
||||
pkginfo "0.x.x"
|
||||
read "1.0.x"
|
||||
revalidator "0.1.x"
|
||||
utile "0.3.x"
|
||||
winston "2.1.x"
|
||||
|
||||
proto-list@~1.2.1:
|
||||
version "1.2.4"
|
||||
resolved "https://registry.yarnpkg.com/proto-list/-/proto-list-1.2.4.tgz#212d5bfe1318306a420f6402b8e26ff39647a849"
|
||||
|
@ -5125,6 +5180,12 @@ read-pkg@^1.0.0:
|
|||
normalize-package-data "^2.3.2"
|
||||
path-type "^1.0.0"
|
||||
|
||||
read@1.0.x:
|
||||
version "1.0.7"
|
||||
resolved "https://registry.yarnpkg.com/read/-/read-1.0.7.tgz#b3da19bd052431a97671d44a42634adf710b40c4"
|
||||
dependencies:
|
||||
mute-stream "~0.0.4"
|
||||
|
||||
readable-stream@1.1:
|
||||
version "1.1.13"
|
||||
resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.13.tgz#f6eef764f514c89e2b9e23146a75ba106756d23e"
|
||||
|
@ -5390,13 +5451,17 @@ retry-as-promised@^2.3.2:
|
|||
bluebird "^3.4.6"
|
||||
debug "^2.6.9"
|
||||
|
||||
revalidator@0.1.x:
|
||||
version "0.1.8"
|
||||
resolved "https://registry.yarnpkg.com/revalidator/-/revalidator-0.1.8.tgz#fece61bfa0c1b52a206bd6b18198184bdd523a3b"
|
||||
|
||||
right-align@^0.1.1:
|
||||
version "0.1.3"
|
||||
resolved "https://registry.yarnpkg.com/right-align/-/right-align-0.1.3.tgz#61339b722fe6a3515689210d24e14c96148613ef"
|
||||
dependencies:
|
||||
align-text "^0.1.1"
|
||||
|
||||
rimraf@2, rimraf@^2.2.1, rimraf@^2.4.2, rimraf@^2.5.1, rimraf@^2.5.4, rimraf@^2.6.1:
|
||||
rimraf@2, rimraf@2.x.x, rimraf@^2.2.1, rimraf@^2.4.2, rimraf@^2.5.1, rimraf@^2.5.4, rimraf@^2.6.1:
|
||||
version "2.6.2"
|
||||
resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.2.tgz#2ed8150d24a16ea8651e6d6ef0f47c4158ce7a36"
|
||||
dependencies:
|
||||
|
@ -6674,6 +6739,17 @@ util-deprecate@~1.0.1:
|
|||
version "1.0.2"
|
||||
resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
|
||||
|
||||
utile@0.3.x:
|
||||
version "0.3.0"
|
||||
resolved "https://registry.yarnpkg.com/utile/-/utile-0.3.0.tgz#1352c340eb820e4d8ddba039a4fbfaa32ed4ef3a"
|
||||
dependencies:
|
||||
async "~0.9.0"
|
||||
deep-equal "~0.2.1"
|
||||
i "0.3.x"
|
||||
mkdirp "0.x.x"
|
||||
ncp "1.0.x"
|
||||
rimraf "2.x.x"
|
||||
|
||||
utils-merge@1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.0.tgz#0294fb922bb9375153541c4f7096231f287c8af8"
|
||||
|
@ -6844,6 +6920,18 @@ winston-transport@^3.0.1:
|
|||
version "3.1.0"
|
||||
resolved "https://registry.yarnpkg.com/winston-transport/-/winston-transport-3.1.0.tgz#52b097176c5c26acf9c603630c57ffd575c42572"
|
||||
|
||||
winston@2.1.x:
|
||||
version "2.1.1"
|
||||
resolved "https://registry.yarnpkg.com/winston/-/winston-2.1.1.tgz#3c9349d196207fd1bdff9d4bc43ef72510e3a12e"
|
||||
dependencies:
|
||||
async "~1.0.0"
|
||||
colors "1.0.x"
|
||||
cycle "1.0.x"
|
||||
eyes "0.1.x"
|
||||
isstream "0.1.x"
|
||||
pkginfo "0.3.x"
|
||||
stack-trace "0.0.x"
|
||||
|
||||
winston@3.0.0-rc1:
|
||||
version "3.0.0-rc1"
|
||||
resolved "https://registry.yarnpkg.com/winston/-/winston-3.0.0-rc1.tgz#982bc0ad4ef5c53000ca68036d78a3deaa28cac5"
|
||||
|
|
Loading…
Reference in New Issue