Navigation Menu

Skip to content

Commit

Permalink
Add --output option
Browse files Browse the repository at this point in the history
  • Loading branch information
kou committed Apr 4, 2014
1 parent 4f4f81a commit d3b7183
Showing 1 changed file with 35 additions and 1 deletion.
36 changes: 35 additions & 1 deletion bin/grn2drn-schema
Expand Up @@ -16,15 +16,49 @@
# License along with this library; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA

require "ostruct"
require "optparse"
require "json"

require "grn2drn/schema-converter"

def open_output(path)
if path == "-"
yield($stdout)
else
File.open(path, "w") do |output|
yield(output)
end
end
end

options = OpenStruct.new
options.output_path = "-"
option_parser = OptionParser.new do |parser|
parser.banner += " INPUT"

parser.separator("")
parser.separator("Converts Groonga schema to Droonga schema")

parser.separator("")
parser.separator("Optional parameters:")
parser.on("--output=PATH",
"Output Droonga messages to PATH.",
"\"-\" means the standard output.",
"(#{options.output_path})") do |path|
options.output_path = path
end
end
option_parser.parse!(ARGV)

converter = Grn2Drn::SchemaConverter.new
begin
schema = converter.convert(ARGF)
rescue Grn2Drn::Error
$stderr.puts($!.message)
exit(false)
end
puts(JSON.pretty_generate(schema))

open_output(options.output_path) do |output|
output.puts(JSON.pretty_generate(schema))
end

0 comments on commit d3b7183

Please sign in to comment.