Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
opts.outputHelp((help) => {
return chalk.red('\n url argument is required\n') + help;
});
process.exit(1);
}
const path = require('path');
const fs = require('fs');
const ytdl = require('ytdl-core');
const homedir = require('homedir');
const util = require('../lib/util');
const label = chalk.bold.gray;
ytdl.cache.info.timeout = 0;
if (opts.cache !== false) {
// Keep cache in file.
const cachefile = path.resolve(homedir(), '.ytdl-cache.json');
let cache = {};
fs.readFile(cachefile, (err, contents) => {
if (err) return;
try {
cache = JSON.parse(contents);
} catch (err) {
console.error(`Badly formatted cachefile (${cachefile}): ${err.message}`);
}
});
ytdl.cache.sig.get = key => cache[key];
ytdl.cache.sig.set = (key, value) => {
cache[key] = value;
ytdl.cache.info.timeout = 0;
if (opts.cache !== false) {
// Keep cache in file.
const cachefile = path.resolve(homedir(), '.ytdl-cache.json');
let cache = {};
fs.readFile(cachefile, (err, contents) => {
if (err) return;
try {
cache = JSON.parse(contents);
} catch (err) {
console.error(`Badly formatted cachefile (${cachefile}): ${err.message}`);
}
});
ytdl.cache.sig.get = key => cache[key];
ytdl.cache.sig.set = (key, value) => {
cache[key] = value;
fs.writeFile(cachefile,
JSON.stringify(cache, null, 2), () => {});
};
}
/**
* Prints basic video information.
*
* @param {Object} info
* @param {boolean} live
*/
const printVideoInfo = (info, live) => {
console.log();
ytdl.cache.info.timeout = 0;
if (opts.cache !== false) {
// Keep cache in file.
const cachefile = path.resolve(homedir(), '.ytdl-cache.json');
let cache = {};
fs.readFile(cachefile, (err, contents) => {
if (err) return;
try {
cache = JSON.parse(contents);
} catch (err) {
console.error(`Badly formatted cachefile (${cachefile}): ${err.message}`);
}
});
ytdl.cache.sig.get = key => cache[key];
ytdl.cache.sig.set = (key, value) => {
cache[key] = value;
fs.writeFile(cachefile,
JSON.stringify(cache, null, 2), () => {});
};
}
/**
* Prints basic video information.
*
* @param {Object} info
* @param {boolean} live
*/
const printVideoInfo = (info, live) => {
console.log();
console.log(label('title: ') + info.title);