#! /usr/bin/ruby -Ke
require 'net/http'
require 'uri'
require 'kconv'

TNEKO = URI.parse('http://toi.kuronekoyamato.co.jp/cgi-bin/tneko')

abort "usage: #{$0} XXXX-YYYY-ZZZZ ..." if ARGV.empty?
baggages = "number00=1"
ARGV.each_with_index do |a, i|
  /\A\d{4}-\d{4}-\d{4}\z/ =~ a or abort "illegal baggage number #{a}"
  baggages << "&number%.2d=%s" % [i + 1, a]
end

result = nil
Net::HTTP.start(TNEKO.host, TNEKO.port) do |http|
  result = http.post(TNEKO.path, baggages).body
end

first = true
result.scan(/<a name="AA\d\d">(.*?)<\/center>/m) do |(res,)|
  res.gsub!(/<th\b[^<>]*>.*?<\/th>/m, "")
  res.gsub!(/.*?(?:<font\b[^<>]*>.*?<\/font>\s*){2}/m, "")
  res.gsub!(/<\/td>\s*<td[^<>]*>/m, "\t")
  res = Kconv.toeuc(res)
  res.gsub!(/[ กก]*<[^<>]*>[ กก]*/em, "")
  res.gsub!(/\n+/, "\n")
  res.sub!(/\A\s+/, "")
  puts unless first
  first = false
  puts res
end
