newpct-scrapper
Version:
Utilidades para newpct
61 lines (44 loc) • 1.64 kB
JavaScript
;
var _minimist = require('minimist');
var _minimist2 = _interopRequireDefault(_minimist);
var _open = require('open');
var _open2 = _interopRequireDefault(_open);
var _lib = require('./lib');
var _utils = require('./utils');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
const argv = (0, _minimist2.default)(process.argv.slice(2));
const err = err => {
console.error(err);process.exit(1);
};
if (argv.h || argv.help) {
console.log(`
uso: newpct [options] <nombre de lo que quieras>
options:
--no-filter No filtra los resultados
-h, --help Mostrar la ayuda
-v, --version Mostrar la versión del paquete
-r, --regex Usar una expresión regular de javascript para filtrar
`);
process.exit();
}
if (argv.v || argv.version) {
console.log(require('../package.json').version);
process.exit();
}
const query = argv._.join(' ');
if (!query) err('La búsqueda no puede estar vacía');
let filter = argv.f || argv.filter;
if (filter == null) filter = true;
let regex = (0, _utils.string2regex)(query);
if (argv.r || argv.regex) regex = RegExp(argv.r || argv.regex, 'i');
async function main() {
let torrents = await (0, _lib.search)(query);
if (filter) torrents = torrents.filter(torrent => regex.test(torrent.title));
if (!torrents.length) err(`0 resultados para "${query}"`);
torrents.sort((a, b) => b.size - a.size);
(0, _utils.printTable)(torrents);
let index = await (0, _utils.getIndex)(torrents);
let magnet = await torrents[index - 1].magnet;
(0, _open2.default)(magnet);
}
main().catch(err);