Revert "File.js"
[app.Builder.js] / rconv.js
index 553020b..a7be79d 100644 (file)
--- a/rconv.js
+++ b/rconv.js
@@ -29,14 +29,47 @@ args.shift();
 //print(JSON.stringify(args, null,4));
 //Seed.quit();
 
-createTest(args[0]);
+
+if (File.isFile(args[0])) {
+    createTest(args[0], true);    
+} else { 
+    
+    File.list(args[0]).forEach(function(a) {
+        if (!a.match(/\.js$/)) {
+            return;
+        }
+        //print(args[0] + '/' + a);
+        createTest(args[0] + '/' + a);    
+        
+    })
+}
+
+
+print( " diff -w -u /tmp/rconv_orig /tmp/rconv_gen/");
+
 
 
-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..
-    File.mkdir('/tmp/rconv_orig');
-    File.mkdir('/tmp/rconv_gen');
+    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 tr = new  TokenReader(  { 
@@ -56,16 +89,26 @@ function createTest(fn) {
     
     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();
+    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);
 }