#!/usr/bin/perl -- # -*- Perl -*-

use strict;
use SOAP::Lite;

my $usage = "$0 userid\n";

my $userid = shift @ARGV || die $usage;

my $soap = SOAP::Lite->new();
$soap->uri("http://norman.walsh.name/witw");
$soap->proxy("http://norman.walsh.name/2005/02/soap/witw");

my $result = $soap->name($userid);
if ($result->fault()) {
    print STDERR "SOAP fault: ", $result->faultcode(), "\n";
    print STDERR "\t", $result->faultstring(), "\n";
    exit 1;
}
my $name = $result->result();

$result = $soap->latitude($userid);
if ($result->fault()) {
    print STDERR "SOAP fault: ", $result->faultcode(), "\n";
    print STDERR "\t", $result->faultstring(), "\n";
    exit 1;
}
my $lat = $result->result();

$result = $soap->longitude($userid);
if ($result->fault()) {
    print STDERR "SOAP fault: ", $result->faultcode(), "\n";
    print STDERR "\t", $result->faultstring(), "\n";
    exit 1;
}
my $long = $result->result();

$result = $soap->date($userid);
if ($result->fault()) {
    print STDERR "SOAP fault: ", $result->faultcode(), "\n";
    print STDERR "\t", $result->faultstring(), "\n";
    exit 1;
}
my $date = $result->result();

$lat = sprintf("%2.2f%s", abs($lat), $lat > 0 ? "N" : "S");
$long = sprintf("%2.2f%s", abs($long), $long > 0 ? "E" : "W");

print "$name was last seen at $lat, $long.\n";
print "That was on $date.\n";
