@wbg-mde/r-factory
Version:
Metadata editor R integration module
63 lines (62 loc) • 2.29 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const R = require("@wbg-mde/r-script");
const repository_1 = require("@wbg-mde/repository");
const { LogLevels } = require('@wbg-mde/model');
const utility_1 = require("../shared/utility");
class Utilities {
GetREnvironmentDetails(packageInfo, callback) {
try {
let scriptFile = utility_1.Utility.getRScriptPath(7);
const packageVersions = Object.keys(packageInfo);
R(scriptFile).data(JSON.stringify(packageVersions)).call((err, result) => {
if (err) {
console.log('Import Master >> Get R Env. details >> R Script >> ' + err);
callback({
result: 'error',
message: err.toString()
});
}
else {
callback({
result: 'ok',
message: result
});
}
});
}
catch (e) {
callback({
result: 'error',
message: e.toString()
});
}
}
UpdatePackages(packageInfo, mdepath, callback) {
try {
let scriptFile = utility_1.Utility.getRScriptPath(13);
const packageVersions = Object.keys(packageInfo).reduce((arr, key) => {
let obj = { "pkg": key, "version": packageInfo[key] };
arr.push(obj);
return arr;
}, []);
R(scriptFile).data(JSON.stringify(packageVersions), mdepath).call((err, result) => {
if (err) {
repository_1.ApplicationLogger.writeLog(LogLevels.info, 'Update R packages >> ' + err);
}
else {
if (result === 'success') {
callback({
result: 'ok',
message: result
});
}
}
});
}
catch (e) {
callback({ result: 'error', message: e });
}
}
}
exports.Utilities = Utilities;