def parse_taps_opts
opts = {}
opts[:default_chunksize] = extract_option("--chunksize") || 1000
opts[:default_chunksize] = opts[:default_chunksize].to_i rescue 1000
if filter = extract_option("--filter")
opts[:table_filter] = filter
elsif tables = extract_option("--tables")
r_tables = tables.split(",").collect { |t| "^#{t.strip}$" }
opts[:table_filter] = "(#{r_tables.join("|")})"
end
if extract_option("--disable-compression")
opts[:disable_compression] = true
end
if resume_file = extract_option("--resume-filename")
opts[:resume_filename] = resume_file
end
opts[:indexes_first] = !extract_option("--indexes-last")
opts[:database_url] = args.detect { |a| URI.parse(a).scheme } rescue nil
unless opts[:database_url]
opts[:database_url] = parse_database_yml
display "Auto-detected local database: #{opts[:database_url]}" if opts[:database_url] != ''
end
raise(CommandFailed, "Invalid database url") if opts[:database_url] == ''
if extract_option("--debug")
Taps.log.level = Logger::DEBUG
end
ENV['TZ'] = 'America/Los_Angeles'
opts
end