diff --git a/packages/i18n/dist/lib/translate_xls.js b/packages/i18n/dist/lib/translate_xls.js index 3416e66a..2de95435 100644 --- a/packages/i18n/dist/lib/translate_xls.js +++ b/packages/i18n/dist/lib/translate_xls.js @@ -2,6 +2,7 @@ import * as path from 'path'; import { JSONPath } from 'jsonpath-plus'; import { get_cached, set_cached } from '@polymech/cache'; import { OSR_CACHE } from '@polymech/commons'; +import { sync as read } from "@polymech/fs/read"; import { sync as exists } from "@polymech/fs/exists"; import { sync as mkdir } from "@polymech/fs/dir"; import * as XLSX from 'xlsx'; @@ -10,19 +11,18 @@ import { logger, translateObjectAIT } from './translate_commons.js'; export const translateXLS = async (src, dst, options) => { logger.debug(`Translating ${src} to ${dst}`); if (!exists(src)) { - logger.error('File not found : ' + src); + logger.error(`Translating ${src} : not found ${src}`); return; } const dstDir = path.parse(dst).dir; mkdir(dstDir); const osr_cache = OSR_CACHE(); - const cached = await get_cached(src, { - keys: options.keys - }, MODULE_NAME); + const cached = await get_cached(src, { keys: options.keys }, MODULE_NAME); if (osr_cache && cached && options.cache && exists(dst)) { return cached; } - const workbook = XLSX.readFile(src); + const data = read(src, 'buffer'); + const workbook = XLSX.read(data); const worksheet = workbook.Sheets[workbook.SheetNames[0]]; const raw_data = XLSX.utils.sheet_to_json(worksheet, { header: 1, blankrows: false, raw: false, skipHidden: true }); const queryResult = JSONPath({ @@ -37,20 +37,18 @@ export const translateXLS = async (src, dst, options) => { }); } catch (error) { - logger.error('Error translating XLSX', error); + logger.error(`Error translating XLSX ${src}`, error); return; } if (!translated) { - logger.error('Error translating XLSX', src); + logger.error(`Error translating XLSX ${src}`); return; } const sheetOut = XLSX.utils.json_to_sheet(translated, { skipHeader: true }); const workbookOut = XLSX.utils.book_new(); XLSX.utils.book_append_sheet(workbookOut, sheetOut, workbook.SheetNames[0]); XLSX.writeFileXLSX(workbookOut, dst); - if (osr_cache && options.cache) { - await set_cached(src, { keys: options.keys }, MODULE_NAME, translated); - } + osr_cache && options.cache && await set_cached(src, { keys: options.keys }, MODULE_NAME, translated); return workbookOut; }; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRlX3hscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvdHJhbnNsYXRlX3hscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssSUFBSSxNQUFNLE1BQU0sQ0FBQTtBQUM1QixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQ3hDLE9BQU8sRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDeEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBQzdDLE9BQU8sRUFBRSxJQUFJLElBQUksTUFBTSxFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFDcEQsT0FBTyxFQUFFLElBQUksSUFBSSxLQUFLLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQTtBQUNoRCxPQUFPLEtBQUssSUFBSSxNQUFNLE1BQU0sQ0FBQTtBQUM1QixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFFN0MsT0FBTyxFQUFFLE1BQU0sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFBO0FBRW5FLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxLQUFLLEVBQUUsR0FBVyxFQUFFLEdBQVcsRUFBRSxPQUFpQixFQUFFLEVBQUU7SUFDOUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxlQUFlLEdBQUcsT0FBTyxHQUFHLEVBQUUsQ0FBQyxDQUFBO0lBQzVDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUNmLE1BQU0sQ0FBQyxLQUFLLENBQUMsbUJBQW1CLEdBQUcsR0FBRyxDQUFDLENBQUE7UUFDdkMsT0FBTTtJQUNWLENBQUM7SUFDRCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQTtJQUNsQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUE7SUFDYixNQUFNLFNBQVMsR0FBRyxTQUFTLEVBQUUsQ0FBQTtJQUM3QixNQUFNLE1BQU0sR0FBRyxNQUFNLFVBQVUsQ0FBQyxHQUFHLEVBQUU7UUFDakMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJO0tBQ3JCLEVBQUUsV0FBVyxDQUFDLENBQUE7SUFFZixJQUFJLFNBQVMsSUFBSSxNQUFNLElBQUksT0FBTyxDQUFDLEtBQUssSUFBSSxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUN0RCxPQUFPLE1BQU0sQ0FBQTtJQUNqQixDQUFDO0lBRUQsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQTtJQUNuQyxNQUFNLFNBQVMsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMxRCxNQUFNLFFBQVEsR0FBVSxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxTQUFTLEVBQUUsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUMzSCxNQUFNLFdBQVcsR0FBRyxRQUFRLENBQ3hCO1FBQ0ksSUFBSSxFQUFFLE9BQU8sQ0FBQyxLQUFLO1FBQ25CLElBQUksRUFBRSxRQUFRO0tBRWpCLENBQUMsQ0FBQTtJQUNOLElBQUksVUFBVSxDQUFBO0lBQ2QsSUFBSSxDQUFDO1FBQ0QsVUFBVSxHQUFHLE1BQU0sa0JBQWtCLENBQUMsUUFBUSxFQUFFLEdBQUcsRUFBRTtZQUNqRCxHQUFHLE9BQU87WUFDVixJQUFJLEVBQUUsV0FBVztTQUNwQixDQUFDLENBQUE7SUFDTixDQUFDO0lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztRQUNiLE1BQU0sQ0FBQyxLQUFLLENBQUMsd0JBQXdCLEVBQUUsS0FBSyxDQUFDLENBQUE7UUFDN0MsT0FBTTtJQUNWLENBQUM7SUFDRCxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDZCxNQUFNLENBQUMsS0FBSyxDQUFDLHdCQUF3QixFQUFFLEdBQUcsQ0FBQyxDQUFBO1FBQzNDLE9BQU07SUFDVixDQUFDO0lBQ0QsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsVUFBVSxFQUFFLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUE7SUFDM0UsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQTtJQUN6QyxJQUFJLENBQUMsS0FBSyxDQUFDLGlCQUFpQixDQUFDLFdBQVcsRUFBRSxRQUFRLEVBQUUsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBQzNFLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxFQUFFLEdBQUcsQ0FBQyxDQUFBO0lBQ3BDLElBQUksU0FBUyxJQUFJLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUM3QixNQUFNLFVBQVUsQ0FBQyxHQUFHLEVBQUUsRUFBRSxJQUFJLEVBQUUsT0FBTyxDQUFDLElBQUksRUFBRSxFQUFFLFdBQVcsRUFBRSxVQUFVLENBQUMsQ0FBQTtJQUMxRSxDQUFDO0lBQ0QsT0FBTyxXQUFXLENBQUE7QUFDdEIsQ0FBQyxDQUFBIn0= \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRlX3hscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvdHJhbnNsYXRlX3hscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssSUFBSSxNQUFNLE1BQU0sQ0FBQTtBQUM1QixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQ3hDLE9BQU8sRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDeEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBQzdDLE9BQU8sRUFBRSxJQUFJLElBQUksSUFBSSxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFDaEQsT0FBTyxFQUFFLElBQUksSUFBSSxNQUFNLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUNwRCxPQUFPLEVBQUUsSUFBSSxJQUFJLEtBQUssRUFBRSxNQUFNLGtCQUFrQixDQUFBO0FBQ2hELE9BQU8sS0FBSyxJQUFJLE1BQU0sTUFBTSxDQUFBO0FBQzVCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUU3QyxPQUFPLEVBQUUsTUFBTSxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUE7QUFFbkUsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLEtBQUssRUFBRSxHQUFXLEVBQUUsR0FBVyxFQUFFLE9BQWlCLEVBQUUsRUFBRTtJQUM5RSxNQUFNLENBQUMsS0FBSyxDQUFDLGVBQWUsR0FBRyxPQUFPLEdBQUcsRUFBRSxDQUFDLENBQUE7SUFDNUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQ2YsTUFBTSxDQUFDLEtBQUssQ0FBQyxlQUFlLEdBQUcsZ0JBQWdCLEdBQUcsRUFBRSxDQUFDLENBQUE7UUFDckQsT0FBTTtJQUNWLENBQUM7SUFDRCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQTtJQUNsQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUE7SUFDYixNQUFNLFNBQVMsR0FBRyxTQUFTLEVBQUUsQ0FBQTtJQUM3QixNQUFNLE1BQU0sR0FBRyxNQUFNLFVBQVUsQ0FBQyxHQUFHLEVBQUUsRUFBRSxJQUFJLEVBQUUsT0FBTyxDQUFDLElBQUksRUFBRSxFQUFFLFdBQVcsQ0FBQyxDQUFBO0lBQ3pFLElBQUksU0FBUyxJQUFJLE1BQU0sSUFBSSxPQUFPLENBQUMsS0FBSyxJQUFJLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQ3RELE9BQU8sTUFBTSxDQUFBO0lBQ2pCLENBQUM7SUFDRCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLFFBQVEsQ0FBVyxDQUFBO0lBQzFDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDaEMsTUFBTSxTQUFTLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDMUQsTUFBTSxRQUFRLEdBQVUsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsU0FBUyxFQUFFLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDM0gsTUFBTSxXQUFXLEdBQUcsUUFBUSxDQUN4QjtRQUNJLElBQUksRUFBRSxPQUFPLENBQUMsS0FBSztRQUNuQixJQUFJLEVBQUUsUUFBUTtLQUVqQixDQUFDLENBQUE7SUFDTixJQUFJLFVBQVUsQ0FBQTtJQUNkLElBQUksQ0FBQztRQUNELFVBQVUsR0FBRyxNQUFNLGtCQUFrQixDQUFDLFFBQVEsRUFBRSxHQUFHLEVBQUU7WUFDakQsR0FBRyxPQUFPO1lBQ1YsSUFBSSxFQUFFLFdBQVc7U0FDcEIsQ0FBQyxDQUFBO0lBQ04sQ0FBQztJQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7UUFDYixNQUFNLENBQUMsS0FBSyxDQUFDLDBCQUEwQixHQUFHLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQTtRQUNwRCxPQUFNO0lBQ1YsQ0FBQztJQUNELElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNkLE1BQU0sQ0FBQyxLQUFLLENBQUMsMEJBQTBCLEdBQUcsRUFBRSxDQUFDLENBQUE7UUFDN0MsT0FBTTtJQUNWLENBQUM7SUFDRCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxVQUFVLEVBQUUsRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQTtJQUMzRSxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFBO0lBQ3pDLElBQUksQ0FBQyxLQUFLLENBQUMsaUJBQWlCLENBQUMsV0FBVyxFQUFFLFFBQVEsRUFBRSxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFDM0UsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLEVBQUUsR0FBRyxDQUFDLENBQUE7SUFDcEMsU0FBUyxJQUFJLE9BQU8sQ0FBQyxLQUFLLElBQUksTUFBTSxVQUFVLENBQUMsR0FBRyxFQUFFLEVBQUUsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJLEVBQUUsRUFBRSxXQUFXLEVBQUUsVUFBVSxDQUFDLENBQUE7SUFDcEcsT0FBTyxXQUFXLENBQUE7QUFDdEIsQ0FBQyxDQUFBIn0= \ No newline at end of file diff --git a/packages/i18n/src/lib/translate_xls.ts b/packages/i18n/src/lib/translate_xls.ts index 0036d671..d98ce79e 100644 --- a/packages/i18n/src/lib/translate_xls.ts +++ b/packages/i18n/src/lib/translate_xls.ts @@ -2,6 +2,7 @@ import * as path from 'path' import { JSONPath } from 'jsonpath-plus' import { get_cached, set_cached } from '@polymech/cache' import { OSR_CACHE } from '@polymech/commons' +import { sync as read } from "@polymech/fs/read" import { sync as exists } from "@polymech/fs/exists" import { sync as mkdir } from "@polymech/fs/dir" import * as XLSX from 'xlsx' @@ -12,21 +13,18 @@ import { logger, translateObjectAIT } from './translate_commons.js' export const translateXLS = async (src: string, dst: string, options: IOptions) => { logger.debug(`Translating ${src} to ${dst}`) if (!exists(src)) { - logger.error('File not found : ' + src) + logger.error(`Translating ${src} : not found ${src}`) return } const dstDir = path.parse(dst).dir mkdir(dstDir) const osr_cache = OSR_CACHE() - const cached = await get_cached(src, { - keys: options.keys - }, MODULE_NAME) - + const cached = await get_cached(src, { keys: options.keys }, MODULE_NAME) if (osr_cache && cached && options.cache && exists(dst)) { return cached } - - const workbook = XLSX.readFile(src) + const data = read(src, 'buffer') as Buffer + const workbook = XLSX.read(data) const worksheet = workbook.Sheets[workbook.SheetNames[0]]; const raw_data: any[] = XLSX.utils.sheet_to_json(worksheet, { header: 1, blankrows: false, raw: false, skipHidden: true }); const queryResult = JSONPath( @@ -42,19 +40,17 @@ export const translateXLS = async (src: string, dst: string, options: IOptions) keys: queryResult }) } catch (error) { - logger.error('Error translating XLSX', error) + logger.error(`Error translating XLSX ${src}`, error) return } if (!translated) { - logger.error('Error translating XLSX', src) + logger.error(`Error translating XLSX ${src}`) return } const sheetOut = XLSX.utils.json_to_sheet(translated, { skipHeader: true }) const workbookOut = XLSX.utils.book_new() XLSX.utils.book_append_sheet(workbookOut, sheetOut, workbook.SheetNames[0]) XLSX.writeFileXLSX(workbookOut, dst) - if (osr_cache && options.cache) { - await set_cached(src, { keys: options.keys }, MODULE_NAME, translated) - } + osr_cache && options.cache && await set_cached(src, { keys: options.keys }, MODULE_NAME, translated) return workbookOut }