X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=code_ruby%2Flib%2Fmaasha%2Ffilesys.rb;h=02a8a842f1157a9824052c589795c1630580ff90;hb=HEAD;hp=81190f532d6ee54281d85d923168e5fd703c51fe;hpb=aab12418af8bf7e9494f45e9b3249bff76fbae9c;p=biopieces.git diff --git a/code_ruby/lib/maasha/filesys.rb b/code_ruby/lib/maasha/filesys.rb index 81190f5..02a8a84 100644 --- a/code_ruby/lib/maasha/filesys.rb +++ b/code_ruby/lib/maasha/filesys.rb @@ -22,8 +22,6 @@ # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< -# require 'zlib' -# require 'bzip2' require 'open3' # Error class for all exceptions to do with Filesys. @@ -50,10 +48,8 @@ class Filesys if mode == 'w' case options[:compress] when :gzip - # ios = Zlib::GzipWriter.new File.open(file, mode, options) ios, = Open3.pipeline_w("gzip -f", out: file) when :bzip, :bzip2 - # 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) @@ -62,15 +58,15 @@ class Filesys if file == '-' ios = STDIN else - case `file -L #{file}` + case `file -Lk #{file}` when /gzip/ - # ios = Zlib::GzipReader.new File.open(file, mode, options) - ios = IO.popen("zcat #{file}") + ios = IO.popen("gzip -cd #{file}", :external_encoding=>"EUC-JP") when /bzip/ - # ios = Bzip2::Reader.new File.open(file, mode, options) # TODO this method is buggy, investigate ios = IO.popen("bzcat #{file}") - else + when /ASCII/ ios = File.open(file, mode, options) + else + raise "Unknown file type: #{`file -L #{file}`}" end end end