87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
|
# File 'lib/embulk/guess_plugin.rb', line 87
def guess(config, sample)
if config.fetch('parser', {}).fetch('charset', nil).nil?
require 'embulk/guess/charset'
charset_guess = Guess::CharsetGuessPlugin.new
return charset_guess.guess(config, sample)
end
if config.fetch('parser', {}).fetch('newline', nil).nil?
require 'embulk/guess/newline'
newline_guess = Guess::NewlineGuessPlugin.new
return newline_guess.guess(config, sample)
end
begin
parser_task = config.param("parser", :hash, default: {}).load_config(Java::LineDecoder::DecoderTask)
rescue
p $!
p $!.backtrace
return DataSource.new
end
decoder = Java::LineDecoder.new(Java::ListFileInput.new([[sample.to_java]]), parser_task)
sample_lines = []
while decoder.nextFile
while line = decoder.poll
sample_lines << line
end
sample_lines.pop unless sample_lines.empty? end
return guess_lines(config, sample_lines);
end
|