sync
[gitlive] / File.js
diff --git a/File.js b/File.js
index 2726e0e..6f4d03c 100644 (file)
--- a/File.js
+++ b/File.js
@@ -65,6 +65,7 @@ var File = {
     read : function (path) {
         var out = {};
         GLib.file_get_contents(path, out, null, null);
+        
         return out['value'];
     },
 
@@ -93,8 +94,7 @@ var File = {
         file_enum.close(null);
 
         listing.sort();
-
-        return listing;
+         return listing;
     },
 
     mtime : function (path) {
@@ -113,8 +113,8 @@ var File = {
      * @returns {String} the resolved path path.
      * 
      */
-    realpath :  function (path) { 
-        return this.canonical(path);
+    realpath :  function (path) {
+        return imports.os.realpath(path);
     },
     canonical : function (path) { 
         var f = Gio.file_new_for_path(String(path));
@@ -194,9 +194,16 @@ var File = {
      * FIXME - needs perms setting..
      * 
      * @arg  directory  {String} Directory to make
+     * @arg  recursive {Boolean}
      */
 
-    mkdir : function (destPath) {
+    mkdir : function (destPath, rec) {
+        //print("mkdir: " + destPath);
+        rec = rec || false;
+        if (rec && !File.isDirectory(GLib.path_get_dirname(destPath))) {
+            File.mkdir(GLib.path_get_dirname(destPath),true);
+        }
+    
         var dest = Gio.file_new_for_path(String(destPath));
         return dest.make_directory(null);
     },