Skip to content

Commit 934d918

Browse files
committed
+objOrStr
ow.oJob: shellPrefix using objOrStr
1 parent 9c7bc98 commit 934d918

File tree

2 files changed

+17
-3
lines changed

2 files changed

+17
-3
lines changed

js/openaf.js

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2367,6 +2367,20 @@ function beep() {
23672367
Packages.java.awt.Toolkit.getDefaultToolkit().beep();
23682368
}
23692369

2370+
/**
2371+
* <odoc>
2372+
* <key>objOrStr(aObj, aStr) : String</key>
2373+
* Given aObj (a map or an array) will try to assess if aStr is an aObj key (using $$.get).
2374+
* If yes, it will return the corresponding aObj value otherwise it will return aStr.
2375+
* </odoc>
2376+
*/
2377+
function objOrStr(aObj, aStr) {
2378+
if (!isMap(aObj) && !isArray(aObj)) return aStr;
2379+
var r = $$(aObj).get(aStr);
2380+
if (isUnDef(r)) r = aStr;
2381+
return r;
2382+
}
2383+
23702384
/**
23712385
* <odoc>
23722386
* <key>watch(waitFor, aCommand, beautifyFlag, noPrint)</key>

js/owrap.oJob.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1911,7 +1911,7 @@ OpenWrap.oJob.prototype.addJob = function(aJobsCh, _aName, _jobDeps, _jobType, _
19111911
}
19121912
var prefix = "";
19131913
if (isString(aJobTypeArgs.shellPrefix)) {
1914-
prefix = ".prefix(eval(\"" + parent.__processTypeArg(aJobTypeArgs.shellPrefix) + "\"))";
1914+
prefix = ".prefix(objOrStr(args, \"" + parent.__processTypeArg(aJobTypeArgs.shellPrefix) + "\"))";
19151915
}
19161916
res += "var __uuid = '.' + genUUID() + '.bat'; _$(args.ssh, 'ssh').isMap().$_(); var __res = $ssh(args.ssh).putFile(ft, __uuid).sh(" + stringify(aJobTypeArgs.shell) + " + ' ' + __uuid)" + prefix + ".exit((r, s)=>s.rm(__uuid)).get(0); io.rm(ft);\n";
19171917
res += "if (!isNull(__res.stdout)) if (isMap(jsonParse(__res.stdout, true))) { args = merge(args, jsonParse(__res.stdout, true)) } else { if (__res.stdout.length > 0) { printnl(__res.stdout) }; if (__res.stderr.length > 0) { printErrnl(__res.stderr); } }";
@@ -1922,7 +1922,7 @@ OpenWrap.oJob.prototype.addJob = function(aJobsCh, _aName, _jobDeps, _jobType, _
19221922
if (!(res.indexOf("/* __oaf_ojob shell */") >= 0)) {
19231923
var prefix = "";
19241924
if (isString(aJobTypeArgs.shellPrefix)) {
1925-
prefix = ".prefix(eval(\"" + parent.__processTypeArg(aJobTypeArgs.shellPrefix) + "\"))";
1925+
prefix = ".prefix(objOrStr(args, \"" + parent.__processTypeArg(aJobTypeArgs.shellPrefix) + "\"))";
19261926
}
19271927
if (ow.format.isWindows() && isUnDef(aJobTypeArgs.shell)) {
19281928
var orig = String(res);
@@ -1970,7 +1970,7 @@ OpenWrap.oJob.prototype.addJob = function(aJobsCh, _aName, _jobDeps, _jobType, _
19701970
var orig = String(res);
19711971
var prefix = "";
19721972
if (isString(aJobTypeArgs.shellPrefix)) {
1973-
prefix = ".prefix(eval(\"" + parent.__processTypeArg(aJobTypeArgs.shellPrefix) + "\"))";
1973+
prefix = ".prefix(objOrStr(args, \"" + parent.__processTypeArg(aJobTypeArgs.shellPrefix) + "\"))";
19741974
}
19751975
res = "/* __oaf_ojob shell */ ";
19761976
if (aJobTypeArgs.noTemplate) {

0 commit comments

Comments
 (0)