Add Javascript Compressor, and new XObject base util class (will replace Object.js)
[gnome.introspection-doc-generator] / File.js
diff --git a/File.js b/File.js
index f0da9ff..e788e59 100755 (executable)
--- a/File.js
+++ b/File.js
@@ -4,6 +4,20 @@ Gio = imports.gi.Gio;
 
 imports['String.js'].load(String);
 
 
 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 : '/',
 var File = {
 
     SEPARATOR : '/',
@@ -74,14 +88,44 @@ var File = {
         var can = f.resolve_relative_path('');
         return can.get_path();
     },
         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);
     },
     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);
+    },
+    /**
+     * remove 
+     * Delete a file.
+     * @arg path {String} File to remove
+     * 
+     * 
+     */
+    remove : function (path)
+    {
+        var f = Gio.file_new_for_path(String(path));
+        return f['delete']();
+    },
     // copy files recursively from fromDir, silently ignore them if they already exist in toDir
     silentRecursiveCopy : function (fromDir, toDir) {
         var filesToCopy = File.recursiveListing(fromDir);
     // copy files recursively from fromDir, silently ignore them if they already exist in toDir
     silentRecursiveCopy : function (fromDir, toDir) {
         var filesToCopy = File.recursiveListing(fromDir);