if (File.isFile(args[0])) {
- createTest(args[0]);
+ createTest(args[0], true);
} else {
File.list(args[0]).forEach(function(a) {
-function createTest(fn) {
+function createTest(fn, force) {
+
+ // does it have a .bjs file..
+ var bjs = fn.replace(/\.js$/, '.bjs');
+ if (!force && !File.exists(bjs)) {
+ return true;
+
+ }
+
+
print("converting : " + fn);
// outputs to two directories..
if (!File.exists('/tmp/rconv_orig')) {
File.mkdir('/tmp/rconv_orig');
+ }
+ if (!File.exists('/tmp/rconv_genbjs')) {
+ File.mkdir('/tmp/rconv_genbjs');
}
if (!File.exists('/tmp/rconv_gen')) {
File.mkdir('/tmp/rconv_gen');
var rf = new JsParser(toks);
//print(JSON.stringify(rf.tokens, null,4));Seed.quit();
+ rf.parse();
- rf.parse();
+ if (File.exists('/tmp/rconv_genbjs/' + GLib.basename(fn).replace(/\.js$/,'.bjs') )) {
+ File.remove('/tmp/rconv_genbjs/' + GLib.basename(fn).replace(/\.js$/,'.bjs') );
+ }
+ File.write('/tmp/rconv_genbjs/' + GLib.basename(fn).replace(/\.js$/,'.bjs'),
+ JSON.stringify(rf.cfg,null,4));
+
+
// now try and render it back to javascript.
var rclass = imports.JsRender[rf.cfg.type][rf.cfg.type];
- rf.cfg.path = args[0];
+ rf.cfg.path = fn;
var render = new rclass(rf.cfg);
var res = render.toSource()
//print();
- File.remove('/tmp/rconv_gen/' + GLib.basename(fn) );
+ if (File.exists('/tmp/rconv_gen/' + GLib.basename(fn) )) {
+ File.remove('/tmp/rconv_gen/' + GLib.basename(fn) );
+ }
+
File.write('/tmp/rconv_gen/' + GLib.basename(fn) , res);
}
//print(JSON.stringify(rf.cfg, null,4));