UNPKG

@summarisation/summarise

Version:

cli for summariser

48 lines (47 loc) 2.18 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.addInputsCommand = exports.inputsAction = void 0; const summarise_config_1 = require("../summarise.config"); const node_fs_1 = __importDefault(require("node:fs")); const fileutils_1 = require("@summarisation/fileutils"); function inputsAction(tc) { return async (_, opts) => { if (opts.debug) console.log(`tika `, opts); await (0, summarise_config_1.abortIfDirectoryDoesNotExist)(tc.config.directories.inputs, `inputs directory ${tc.config.directories.inputs} does not exist`); const { inputs, tika } = tc.config.directories; const { jar } = tc.config.tika; if (opts.clean) await node_fs_1.default.promises.rm(tika, { recursive: true }); const config = { debug: opts.debug === true, dryRun: opts.dryRun === true }; const inToOutName = (0, fileutils_1.inputToOutputFileName)(inputs, tika, { inputDir: inputs, outputDir: tika, newFileNameFn: (0, fileutils_1.changeExtension)('.json') }); console.log('made tika files', await (0, fileutils_1.executeRecursivelyCmdChanges)(tc.context.currentDirectory, inputs, dir => { let outDir = inToOutName(dir); return `java -jar ${jar} -i ${dir} -o ${outDir} --jsonRecursive`; }, config)); }; } exports.inputsAction = inputsAction; function addInputsCommand(tc) { return { cmd: 'inputs', description: `turn pdf files into text files using apache tika. ${tc.config.directories.inputs} ==> ${tc.config.directories.tika}`, options: { '--clean': { description: 'Delete the output file directory at the start' }, '--debug': { description: 'Show debug information' }, '--dryRun': { description: `Just do a dry run instead of actually making the pipelines` } }, action: inputsAction(tc) }; } exports.addInputsCommand = addInputsCommand;