Revert "File.js"
[app.Builder.js] / rconv.js
index 348c12c..a7be79d 100644 (file)
--- a/rconv.js
+++ b/rconv.js
@@ -30,28 +30,42 @@ args.shift();
 //Seed.quit();
 
 
-
-
-File.list(args[0]).forEach(function(a) {
-    if (!a.match(/\.js$/)) {
-        return;
-    }
-    //print(args[0] + '/' + a);
-    createTest(args[0] + '/' + a);    
+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..
     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');
@@ -75,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);
 }