bin/infoboxer
#!/usr/bin/env ruby
require 'rubygems'
require 'infoboxer'
include Infoboxer
require 'optparse'
wiki_url = nil
OptionParser.new do |opts|
opts.banner = 'Usage: infoboxer [-w wiki_api_url]'
opts.on('-w', '--wiki WIKI_API_URL',
"Make wiki by WIKI_API_URL a default wiki, and use it with just get('Pagename')") do |w|
wiki_url = w
end
end.parse!
if wiki_url
if wiki_url =~ /^[a-z]+$/
wiki_url = case
when domain = Infoboxer::WIKIMEDIA_PROJECTS[wiki_url.to_sym]
"https://en.#{domain}/w/api.php"
when domain = Infoboxer::WIKIMEDIA_PROJECTS[('w' + wiki_url).to_sym]
"https://en.#{domain}/w/api.php"
else
fail("Unidentified wiki: #{wiki_url}")
end
end
DEFAULT_WIKI = Infoboxer.wiki(wiki_url)
puts "Default Wiki selected: #{wiki_url}.\nNow you can use `get('Pagename')`, `category('Categoryname')` and so on.\n\n"
[:raw, :get, :get_h, :category, :search, :prefixsearch].each do |m|
define_method(m) { |*arg|
DEFAULT_WIKI.send(m, *arg)
}
end
end
require 'irb'
ARGV.shift until ARGV.empty?
IRB.start