Advertisement
Guest User

BrunoLM

a guest
May 16th, 2010
614
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. if (!System) var System = { };
  2. if (!System.OneMangaManager) System.OneMangaManager = { };
  3. if (!System.OneMangaManager.File) System.OneMangaManager.File = { };
  4.  
  5. System.OneMangaManager.File =
  6. {
  7.     Choose:
  8.         function(Title, Mode)
  9.         {
  10.             try
  11.             {
  12.                 const IFP = Components.interfaces.nsIFilePicker;
  13.                 const fp = Components.classes["@mozilla.org/filepicker;1"].createInstance(IFP);
  14.              
  15.                 fp.init(window, Title, IFP["mode" + Mode]);
  16.                 fp.appendFilter("OneManga Manager (*.omm)", "*.omm");
  17.                 fp.filterIndex = 0;
  18.                 fp.defaultExtension = "omm";
  19.                 const ret = fp.show();
  20.                 if (ret == IFP.returnOK || ret == IFP.returnReplace) return fp.file;
  21.                 else return;
  22.             }
  23.             catch(ex) { }
  24.             return;
  25.         },
  26.        
  27.     Write:
  28.         function (File, Text)
  29.         {
  30.             if (!File) return;
  31.             const unicodeConverter = Components.classes["@mozilla.org/intl/scriptableunicodeconverter"]
  32.                 .createInstance(Components.interfaces.nsIScriptableUnicodeConverter);
  33.            
  34.             unicodeConverter.charset = "UTF-8";
  35.            
  36.             Text = unicodeConverter.ConvertFromUnicode(Text);
  37.             const os = Components.classes["@mozilla.org/network/file-output-stream;1"]
  38.               .createInstance(Components.interfaces.nsIFileOutputStream);
  39.             os.init(File, 0x02 | 0x08 | 0x20, 0700, 0);
  40.             os.write(Text, Text.length);
  41.             os.close();
  42.         },
  43.        
  44.     Read:
  45.         function (File)
  46.         {
  47.             if (!File) return;
  48.             var res;
  49.    
  50.             const is = Components.classes["@mozilla.org/network/file-input-stream;1"]
  51.                 .createInstance(Components.interfaces.nsIFileInputStream);
  52.             const sis = Components.classes["@mozilla.org/scriptableinputstream;1"]
  53.                 .createInstance(Components.interfaces.nsIScriptableInputStream);
  54.             is.init(File, 0x01, 0400, null);
  55.             sis.init(is);
  56.    
  57.             res = sis.read(sis.available());
  58.            
  59.             is.close();
  60.  
  61.             return res;
  62.         },
  63.        
  64.     ReadUrl:
  65.         function (aURL)
  66.         {
  67.             var ioService=Components.classes["@mozilla.org/network/io-service;1"]
  68.                 .getService(Components.interfaces.nsIIOService);
  69.             var scriptableStream=Components
  70.                 .classes["@mozilla.org/scriptableinputstream;1"]
  71.                 .getService(Components.interfaces.nsIScriptableInputStream);
  72.  
  73.             var channel=ioService.newChannel(aURL,null,null);
  74.             var input=channel.open();
  75.             scriptableStream.init(input);
  76.             var str=scriptableStream.read(input.available());
  77.             scriptableStream.close();
  78.             input.close();
  79.             return str;
  80.         }
  81. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement