#!/usr/bin/perl

$|++;

use LWP::UserAgent;
use HTTP::Request;
use HTTP::Response;
use URI::Heuristic;

while (<STDIN>) {
   next if ! (($quantity, $partnumber) = /^\s*(\d+)+\s+(\S+)\s*$/);
   $part{$partnumber} += $quantity;
}

open (OUTFILE, ">misb.html");
print OUTFILE q(<body BGCOLOR="#FFFFFF">);
foreach $i (sort {$a <=> $b} keys part) {
   my $url = URI::Heuristic::uf_urlstr("http://guide.lugnet.com/set/$i");
   my $ua = LWP::UserAgent->new();
   $ua->agent("Mallorn/v1.0 Personal Inventory Script");
   my $req = HTTP::Request->new(GET => $url);
   $req->referer("http://www.mallorn.com/~lindsey/lego/");
   my $response = $ua->request($req);
   if ($response->is_error()) {
      printf OUTFILE (q(%d&nbsp;&nbsp;%s<br>), $part{$i}, $i);
   } else {
      ($title) = ($response->title() =~ /\d+\s+(.*)/);
      ($price) = ($response->content() =~ /\$<\/FONT><\/SMALL><B>([0-9\.]+)<\/B>/);
		$totalprice+=($price * $part{$i});
		print $totalprice, "\n";
      $price = "unknown" if $price == "0";
      printf OUTFILE (q(%d&nbsp;&nbsp;%s <a href="%s">%s</a> <i><font size=-1>(retail price: $%s)</font></i><br>), $part{$i}, $i, $url, $title, $price);
   }
   print OUTFILE "\n";
   flush OUTFILE;
}
print OUTFILE q(</body>);
close OUTFILE;

print "Total value: $totalprice\n";
