# Copyright (C) 2008 Wes Hardaker
# License: Same as perl. See the LICENSE file for details.
package Ham::Callsign::DB::QRZ;
use Ham::Callsign::DB;
use Ham::Callsign;
use Ham::Scraper;
our @ISA = qw(Ham::Callsign::DB);
use strict;
sub init {
my ($self) = @_;
# none needed
}
sub do_load_data {
my ($self, $place) = @_;
# none needed.
}
sub do_lookup {
my ($self, $callsign) = @_;
my %qrz = Ham::Scraper::QRZ($callsign);
my %results = (%qrz, FromDB => 'QRZ');
return if (!$results{'Name'});
$results{'thecallsign'} = uc($callsign);
$results{'entity_name'} = $qrz{'Name'};
$results{'first_name'} = $qrz{'Name'};
$results{'first_name'} =~ s/ .*//;
$results{'last_name'} = $qrz{'Name'};
$results{'last_name'} =~ s/.* //;
$results{'city'} = $qrz{'CityStateZip'};
$results{'city'} =~ s/,* .*//;
$results{'zip'} = $qrz{'CityStateZip'};
$results{'zip'} =~ s/.*(\d+)$/$1/;
$results{'state'} = $qrz{'CityStateZip'};
$results{'state'} =~ s/.* ([A-Z][A-Z]) .*/$1/;
$results{'qth'} = $qrz{'CityStateZip'} . ", " . $qrz{'Grid'};
foreach my $xfer (qw(CityStateZip TimeZone GMTOffset Grid)) {
$results{$xfer} = $qrz{$xfer};
}
return [new Ham::Callsign(%results)];
}
sub do_create_tables {
my ($self) = @_;
# not needed
}
1;
=pod
=head1 NAME
=cut