File.js
[gnome.introspection-doc-generator] / File.js
diff --git a/File.js b/File.js
index e6e8da8..65f0003 100755 (executable)
--- a/File.js
+++ b/File.js
@@ -4,6 +4,20 @@ Gio = imports.gi.Gio;
 
 imports['String.js'].load(String);
 
+/**
+* @namespace File
+* 
+* Library to wrap GLib and Gio basic File related methods
+* 
+* usage:
+* 
+* File = import.File.File;
+* 
+* var contents = File.read("/tmp/test.txt");
+*
+* 
+* 
+*/
 var File = {
 
     SEPARATOR : '/',
@@ -74,20 +88,38 @@ var File = {
         var can = f.resolve_relative_path('');
         return can.get_path();
     },
-
+    /**
+     * write
+     * @arg path {String} File to write to
+     * @arg string {String} Contents of file.
+     * 
+     */
     write : function (path, string) {
         var f = Gio.file_new_for_path(String(path));
         var data_out = new Gio.DataOutputStream({base_stream:f.replace(null, false, Gio.FileCreateFlags.NONE, null)});
         data_out.put_string(string, null);
         data_out.close(null);
     },
-
+    /**
+     * append
+     * @arg path {String} File to write to
+     * @arg string {String} string to append to file.
+     * 
+     */
+    append : function (path, string) {
+        var f = Gio.file_new_for_path(String(path));
+        var data_out = new Gio.DataOutputStream({
+                base_stream:f.append_to(Gio.FileCreateFlags.NONE, null)
+        });
+        data_out.put_string(string, null);
+        data_out.close(null);
+    },
     // copy files recursively from fromDir, silently ignore them if they already exist in toDir
     silentRecursiveCopy : function (fromDir, toDir) {
         var filesToCopy = File.recursiveListing(fromDir);
         var srcPath, destPath, src, dest;
 
-        for (index in filesToCopy) {
+        for (var index in filesToCopy) {
           srcPath = File.join(String(fromDir), filesToCopy[index]);
           destPath = File.join(String(toDir), filesToCopy[index]);
 
@@ -112,11 +144,11 @@ var File = {
 
         // a bit of a hack for the fact that Gio.File.copy arguments
         // can be nulled, but not according to the GIR file
-        return src.copy(dest, Gio.FileCopyFlags.NONE, null, function(_a,_b,_c) {return true;}, true);
+        return src.copy(dest, Gio.FileCopyFlags.NONE);
     },
 
     recursiveListing : function (dir) {
-        
+
         function recursiveListingInternal(prefix, listing, dir) {
           var entries = File.list(dir);
           var next, fullPath;
@@ -139,8 +171,8 @@ var File = {
 
           return listing;
         }
-        
+
         return recursiveListingInternal('', [], dir);
     }
 
-};
\ No newline at end of file
+};