From ba5a8d89bbf049e4afc41543bcc072cccdb02669 Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Wed, 3 Feb 2021 09:33:05 +0100 Subject: Update server dependencies --- server/tools/peertube-import-videos.ts | 44 ++++++++++++++++++---------------- 1 file changed, 23 insertions(+), 21 deletions(-) (limited to 'server/tools/peertube-import-videos.ts') diff --git a/server/tools/peertube-import-videos.ts b/server/tools/peertube-import-videos.ts index 65798adb4..d91767c29 100644 --- a/server/tools/peertube-import-videos.ts +++ b/server/tools/peertube-import-videos.ts @@ -45,22 +45,24 @@ command .usage("[global options] [ -- youtube-dl options]") .parse(process.argv) -const log = getLogger(program['verbose']) +const options = command.opts() + +const log = getLogger(options.verbose) getServerCredentials(command) .then(({ url, username, password }) => { - if (!program['targetUrl']) { + if (!options.targetUrl) { exitError('--target-url field is required.') } try { - accessSync(program['tmpdir'], constants.R_OK | constants.W_OK) + accessSync(options.tmpdir, constants.R_OK | constants.W_OK) } catch (e) { - exitError('--tmpdir %s: directory does not exist or is not accessible', program['tmpdir']) + exitError('--tmpdir %s: directory does not exist or is not accessible', options.tmpdir) } url = normalizeTargetUrl(url) - program['targetUrl'] = normalizeTargetUrl(program['targetUrl']) + options.targetUrl = normalizeTargetUrl(options.targetUrl) const user = { username, password } @@ -76,7 +78,7 @@ async function run (url: string, user: UserInfo) { const youtubeDL = await safeGetYoutubeDL() - let info = await getYoutubeDLInfo(youtubeDL, program['targetUrl'], command.args) + let info = await getYoutubeDLInfo(youtubeDL, options.targetUrl, command.args) if (!Array.isArray(info)) info = [ info ] @@ -92,10 +94,10 @@ async function run (url: string, user: UserInfo) { let infoArray: any[] infoArray = [].concat(info) - if (program['first']) { - infoArray = infoArray.slice(0, program['first']) - } else if (program['last']) { - infoArray = infoArray.slice(-program['last']) + if (options.first) { + infoArray = infoArray.slice(0, options.first) + } else if (options.last) { + infoArray = infoArray.slice(-options.last) } // Normalize utf8 fields infoArray = infoArray.map(i => normalizeObject(i)) @@ -104,12 +106,12 @@ async function run (url: string, user: UserInfo) { for (const [ index, info ] of infoArray.entries()) { try { - if (index > 0 && program['waitInterval']) { - log.info("Wait for %d seconds before continuing.", program['waitInterval'] / 1000) - await new Promise(res => setTimeout(res, program['waitInterval'])) + if (index > 0 && options.waitInterval) { + log.info("Wait for %d seconds before continuing.", options.waitInterval / 1000) + await new Promise(res => setTimeout(res, options.waitInterval)) } await processVideo({ - cwd: program['tmpdir'], + cwd: options.tmpdir, url, user, youtubeInfo: info @@ -119,7 +121,7 @@ async function run (url: string, user: UserInfo) { } } - log.info('Video/s for user %s imported: %s', user.username, program['targetUrl']) + log.info('Video/s for user %s imported: %s', user.username, options.targetUrl) process.exit(0) } @@ -137,14 +139,14 @@ async function processVideo (parameters: { log.debug('Fetched object.', videoInfo) const originallyPublishedAt = buildOriginallyPublishedAt(videoInfo) - if (program['since'] && originallyPublishedAt && originallyPublishedAt.getTime() < program['since'].getTime()) { + if (options.since && originallyPublishedAt && originallyPublishedAt.getTime() < options.since.getTime()) { log.info('Video "%s" has been published before "%s", don\'t upload it.\n', - videoInfo.title, formatDate(program['since'])) + videoInfo.title, formatDate(options.since)) return } - if (program['until'] && originallyPublishedAt && originallyPublishedAt.getTime() > program['until'].getTime()) { + if (options.until && originallyPublishedAt && originallyPublishedAt.getTime() > options.until.getTime()) { log.info('Video "%s" has been published after "%s", don\'t upload it.\n', - videoInfo.title, formatDate(program['until'])) + videoInfo.title, formatDate(options.until)) return } @@ -161,11 +163,11 @@ async function processVideo (parameters: { log.info('Downloading video "%s"...', videoInfo.title) - const options = [ '-f', getYoutubeDLVideoFormat(), ...command.args, '-o', path ] + const youtubeDLOptions = [ '-f', getYoutubeDLVideoFormat(), ...command.args, '-o', path ] try { const youtubeDL = await safeGetYoutubeDL() const youtubeDLExec = promisify(youtubeDL.exec).bind(youtubeDL) - const output = await youtubeDLExec(videoInfo.url, options, processOptions) + const output = await youtubeDLExec(videoInfo.url, youtubeDLOptions, processOptions) log.info(output.join('\n')) await uploadVideoOnPeerTube({ cwd, -- cgit v1.2.3