]> git.donarmstrong.com Git - biopieces.git/blobdiff - code_ruby/lib/maasha/filesys.rb
disabling buggy bzip2-ruby
[biopieces.git] / code_ruby / lib / maasha / filesys.rb
index 4bb7b8f7d17fd4b88b90da6d64a0aa33be527d8d..4f58898b91977a3dbc1695ed3191018b316bc34e 100644 (file)
@@ -23,7 +23,8 @@
 # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
 
 require 'zlib'
-require 'bzip2'
+# require 'bzip2'
+require 'open3'
 
 # Error class for all exceptions to do with Filesys.
 class FilesysError < StandardError; end
@@ -51,7 +52,8 @@ class Filesys
       when :gzip
         ios = Zlib::GzipWriter.new File.open(file, mode, options)
       when :bzip, :bzip2
-        ios = Bzip2::Writer.new File.open(file, mode, options)
+        # ios = Bzip2::Writer.new File.open(file, mode, options)   # TODO being pissed with buggy bzip2 gem.
+        ios, = Open3.pipeline_w("bzip2 -c", out: file)
       else 
         ios = File.open(file, mode, options)
       end
@@ -63,7 +65,8 @@ class Filesys
         when /gzip/
           ios = Zlib::GzipReader.new File.open(file, mode, options)
         when /bzip/
-          ios = Bzip2::Reader.new File.open(file, mode, options)
+          # ios = Bzip2::Reader.new File.open(file, mode, options)   # TODO this method is buggy, investigate
+          ios = IO.popen("bzcat #{file}")
         else
           ios = File.open(file, mode, options)
         end