@wbg-mde/repository
Version:
Managing all common method for file system CRUD operations.
54 lines (53 loc) • 2.3 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const fs = require("fs");
const path = require("path");
const test_config_1 = require("./test_config");
const import_dublincore_1 = require("../import-master/import.dublincore");
const export_dubilncore_1 = require("../export-master/export.dubilncore");
class ImportDublinCoreTest {
constructor() {
this.importDublinCore = new import_dublincore_1.ImportDublinCore();
this.exportDublinCore = new export_dubilncore_1.ExportDublinCore();
}
execute() {
try {
fs.readdir(test_config_1.TestConfig.inputPath.dublincore, (err, files) => {
if (files) {
files.reduce((p, x) => p.then(_ => this.executeFile(x)), Promise.resolve());
}
});
}
catch (e) {
console.log('execute error >> ' + e);
}
}
executeFile(filepath) {
const inputPath = path.join(test_config_1.TestConfig.inputPath.dublincore, filepath);
const outputPath = path.join(test_config_1.TestConfig.outputPath.dublincore, filepath);
this.importDublinCore.readImportedFile(inputPath, test_config_1.TestConfig.dublinCoreOptions.type, test_config_1.TestConfig.dublinCoreOptions.language, (resp) => {
if (resp.result === "ok") {
const project = {
header: {
language: test_config_1.TestConfig.dublinCoreOptions.language
}
};
let extRes = [];
resp.data.forEach(item => {
const newRes = {};
newRes['resDscr'] = item;
extRes.push(newRes);
});
this.exportDublinCore.exportResourceDescription(outputPath, project, extRes, (res) => {
if (res.result === "ok") {
console.log(`file ${filepath} completed successfully!!`);
}
else {
console.log(`file ${filepath} completed with errors!!`);
}
});
}
});
}
}
exports.ImportDublinCoreTest = ImportDublinCoreTest;