44 lines
903 B
JavaScript
44 lines
903 B
JavaScript
const { closeMongo } = require("../src/db/client");
|
|
const { runImport } = require("../src/importer/importer");
|
|
|
|
function parseArgs(argv) {
|
|
const options = {};
|
|
|
|
for (const arg of argv) {
|
|
if (arg.startsWith("--datasets=")) {
|
|
options.datasets = arg
|
|
.slice("--datasets=".length)
|
|
.split(",")
|
|
.filter(Boolean);
|
|
}
|
|
|
|
if (arg.startsWith("--languages=")) {
|
|
options.languages = arg
|
|
.slice("--languages=".length)
|
|
.split(",")
|
|
.filter(Boolean);
|
|
}
|
|
|
|
if (arg.startsWith("--max-pages=")) {
|
|
options.maxPages = Number(arg.slice("--max-pages=".length));
|
|
}
|
|
}
|
|
|
|
return options;
|
|
}
|
|
|
|
async function main() {
|
|
const options = parseArgs(process.argv.slice(2));
|
|
const status = await runImport(options);
|
|
console.log(JSON.stringify(status, null, 2));
|
|
}
|
|
|
|
main()
|
|
.catch((error) => {
|
|
console.error(error);
|
|
process.exitCode = 1;
|
|
})
|
|
.finally(async () => {
|
|
await closeMongo();
|
|
});
|