def serveroptparse
opts={:port => 5000, :database_url => nil, :login => nil, :password => nil, :debug => false}
OptionParser.new do |o|
o.banner = "Usage: #{File.basename($0)} server [OPTIONS] <local_database_url> <login> <password>"
o.define_head "Start a taps database import/export server"
o.on("-p", "--port=N", "Server Port") { |v| opts[:port] = v.to_i if v.to_i > 0 }
o.on("-d", "--debug", "Enable Debug Messages") { |v| opts[:debug] = true }
o.parse!(argv)
opts[:database_url] = argv.shift
opts[:login] = argv.shift
opts[:password] = argv.shift
if opts[:database_url].nil?
$stderr.puts "Missing Database URL"
puts o
exit 1
end
if opts[:login].nil?
$stderr.puts "Missing Login"
puts o
exit 1
end
if opts[:password].nil?
$stderr.puts "Missing Password"
puts o
exit 1
end
end
opts
end