From 37c044a415561da97167febfcc151d7424d0bb28 Mon Sep 17 00:00:00 2001 From: phasefx Date: Thu, 8 Sep 2005 20:38:37 +0000 Subject: [PATCH] some file IO related xpcom. misc git-svn-id: svn://svn.open-ils.org/ILS/trunk@1814 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- .../chrome/content/evergreen/util/error.js | 8 +-- .../chrome/content/evergreen/util/file.js | 51 +++++++++++++++++++ .../content/evergreen/util/util_overlay.xul | 1 + 3 files changed, 56 insertions(+), 4 deletions(-) create mode 100644 Evergreen/staff_client/chrome/content/evergreen/util/file.js diff --git a/Evergreen/staff_client/chrome/content/evergreen/util/error.js b/Evergreen/staff_client/chrome/content/evergreen/util/error.js index 7d820393b6..f74423eb28 100644 --- a/Evergreen/staff_client/chrome/content/evergreen/util/error.js +++ b/Evergreen/staff_client/chrome/content/evergreen/util/error.js @@ -40,14 +40,14 @@ var sdump_levels = { 'D_PATRON_ITEMS' : false, 'D_PATRON_CHECKOUT_ITEMS' : false, - 'D_PATRON_HOLDS' : true, + 'D_PATRON_HOLDS' : false, 'D_PATRON_BILLS' : false, 'D_PATRON_EDIT' : false, - 'D_CHECKIN' : true, + 'D_CHECKIN' : false, 'D_CHECKIN_ITEMS' : false, - 'D_HOLD_CAPTURE' : true, + 'D_HOLD_CAPTURE' : false, 'D_HOLD_CAPTURE_ITEMS' : false, 'D_CAT' : false, @@ -57,7 +57,7 @@ var sdump_levels = { 'D_EXPLODE' : false, 'D_FM_UTILS' : false, - 'D_PRINT' : true, + 'D_PRINT' : false, 'D_SES' : true, 'D_SES_FUNC' : false, 'D_SES_RESULT' : true, diff --git a/Evergreen/staff_client/chrome/content/evergreen/util/file.js b/Evergreen/staff_client/chrome/content/evergreen/util/file.js new file mode 100644 index 0000000000..30cc7e2f7a --- /dev/null +++ b/Evergreen/staff_client/chrome/content/evergreen/util/file.js @@ -0,0 +1,51 @@ +sdump('D_TRACE','Loading file.js\n'); + +var dirService = Components.classes["@mozilla.org/file/directory_service;1"]. + getService( Components.interfaces.nsIProperties ); + +function create_input_stream(file) { + try { + if (typeof(file)=='string') file = get_file( file ); + var f = Components.classes["@mozilla.org/network/file-input-stream;1"] + .createInstance(Components.interfaces.nsIFileInputStream); + if (file && file.exists()) { + f.init(file, 0x01, 0, 0); + var s = Components.classes["@mozilla.org/scriptableinputstream;1"] + .createInstance(Components.interfaces.nsIScriptableInputStream); + if (f) { + s.init(f); + return s; + } + } + } catch(E) { + sdump('D_ERROR', E); + } + return null; +} + +function create_output_stream(file) { + try { + if (typeof(file)=='string') file = get_file( file ); + var f = Components.classes["@mozilla.org/network/file-output-stream;1"] + .createInstance(Components.interfaces.nsIFileOutputStream); + if (file) { + if (! file.exists()) file.create( 0, 0640 ); + f.init(file, 0x02 | 0x08 | 0x20, 0644, 0); + return f; + } + } catch(E) { + sdump('D_ERROR', E); + } + return null; +} + +function get_file( fname ) { + try { + file = dirService.get( "AChrom", Components.interfaces.nsIFile ); + file.append(mw.myPackageDir); file.append("content"); file.append("conf"); file.append("fname"); + return file; + } catch(E) { + sdump('D_ERROR', E); + return null; + } +} diff --git a/Evergreen/staff_client/chrome/content/evergreen/util/util_overlay.xul b/Evergreen/staff_client/chrome/content/evergreen/util/util_overlay.xul index d841c7b47f..66e075a852 100644 --- a/Evergreen/staff_client/chrome/content/evergreen/util/util_overlay.xul +++ b/Evergreen/staff_client/chrome/content/evergreen/util/util_overlay.xul @@ -13,6 +13,7 @@