Sha256: 5ede4d197e5a84132d3f1610b758a31b252ae52df8f4b84f89e2a5c99bc710d3

Contents?: true

Size: 580 Bytes

Versions: 75

Compression:

Stored size: 580 Bytes

Contents

module Embulk
  module Guess

    class Bzip2GuessPlugin < GuessPlugin
      Plugin.register_guess('bzip2', self)

      # magic: BZ
      # version: 'h' = bzip2
      # blocksize: 1 .. 9
      # block magic: 0x314159265359 (6 bytes)
      block_magic = [0x31, 0x41, 0x59, 0x26, 0x53, 0x59].pack('C*')
      BZIP2_HEADER_PATTERN = /BZh[1-9]#{Regexp.quote(block_magic)}/n

      def guess(config, sample_buffer)
        if sample_buffer[0,10] =~ BZIP2_HEADER_PATTERN
          return {"decoders" => [{"type" => "bzip2"}]}
        end
        return {}
      end
    end

  end
end

Version data entries

75 entries across 75 versions & 1 rubygems

Version Path
embulk-0.10.26-java lib/embulk/guess/bzip2.rb
embulk-0.10.25-java lib/embulk/guess/bzip2.rb
embulk-0.10.24-java lib/embulk/guess/bzip2.rb
embulk-0.8.39 lib/embulk/guess/bzip2.rb
embulk-0.8.39-java lib/embulk/guess/bzip2.rb
embulk-0.8.38 lib/embulk/guess/bzip2.rb
embulk-0.8.38-java lib/embulk/guess/bzip2.rb
embulk-0.8.37 lib/embulk/guess/bzip2.rb
embulk-0.8.37-java lib/embulk/guess/bzip2.rb
embulk-0.8.36 lib/embulk/guess/bzip2.rb
embulk-0.8.36-java lib/embulk/guess/bzip2.rb
embulk-0.8.35 lib/embulk/guess/bzip2.rb
embulk-0.8.35-java lib/embulk/guess/bzip2.rb
embulk-0.8.34 lib/embulk/guess/bzip2.rb
embulk-0.8.34-java lib/embulk/guess/bzip2.rb
embulk-0.8.33 lib/embulk/guess/bzip2.rb
embulk-0.8.33-java lib/embulk/guess/bzip2.rb
embulk-0.8.32 lib/embulk/guess/bzip2.rb
embulk-0.8.32-java lib/embulk/guess/bzip2.rb
embulk-0.8.31 lib/embulk/guess/bzip2.rb