X-Git-Url: http://git.roojs.org/?p=gnome.introspection-doc-generator;a=blobdiff_plain;f=File.js;fp=File.js;h=e788e59432df142837b3c9474ad80b6acc3f21ea;hp=f0da9ff4d55ec1a63fb35a75668915e7b3bb7ffd;hb=8b882e6abb3281639eea6cb3850054af2550f6ce;hpb=82b17ee1cb07377fb1a2ceac634ad0c3757180a6 diff --git a/File.js b/File.js index f0da9ff..e788e59 100755 --- 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,14 +88,44 @@ 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); + }, + /** + * 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);