X-Git-Url: http://dxcluster.org/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl%2FPrefix.pm;h=3f1341ad6fd169bbbf5a8ceaee42b214fab1e945;hb=a472851a7e290dac262131fd7f73b567332df6e4;hp=a17966a3edc256f8ab22f5c685602f5bb6ebcaf7;hpb=d6ef92100b25e721a15d00da498256853cc0acf2;p=spider.git diff --git a/perl/Prefix.pm b/perl/Prefix.pm index a17966a3..3f1341ad 100644 --- a/perl/Prefix.pm +++ b/perl/Prefix.pm @@ -39,9 +39,15 @@ sub init return $r if $r; # fix up the node's default country codes - push @main::my_cc, (61..67) if !@main::my_cc && $main::mycall =~ /^GB/; - push @main::my_cc, qw(EA EA6 EA8 EA9) if !@main::my_cc && $main::mycall =~ /^E(ABCD)/; - push @main::my_cc, $main::mycall unless @main::my_cc; + unless (@main::my_cc) { + push @main::my_cc, (61..67) if $main::mycall =~ /^GB/; + push @main::my_cc, qw(EA EA6 EA8 EA9) if $main::mycall =~ /^E[ABCD]/; + push @main::my_cc, qw(I IT IS) if $main::mycall =~ /^I/; + push @main::my_cc, qw(SV SV5 SV9) if $main::mycall =~ /^SV/; + + # catchall + push @main::my_cc, $main::mycall unless @main::my_cc; + } my @c; for (@main::my_cc) { @@ -79,6 +85,11 @@ sub load return $out; } +sub loaded +{ + return $db; +} + sub store { my ($k, $l); @@ -462,6 +473,23 @@ sub to_ciz return @out; } +# get the full country data (dxcc, itu, cq, state, city) as a list +# from a callsign. +sub cty_data +{ + my $call = shift; + + my @dxcc = extract($call); + if (@dxcc) { + my $state = $dxcc[1]->state || ''; + my $city = $dxcc[1]->city || ''; + my $name = $dxcc[1]->name || ''; + + return ($dxcc[1]->dxcc, $dxcc[1]->itu, $dxcc[1]->cq, $state, $city, $name); + } + return (666,0,0,'','','Pirate-Country-QQ'); +} + my %valid = ( lat => '0,Latitude,slat', long => '0,Longitude,slong',