got the prefix code working quite well, changed a few country codes.
[spider.git] / cmd / show / dxcc.pl
1 #
2 # show dx using the dxcc number as the basis for searchs for each callsign or prefix entered
3 #
4 # $Id$
5 #
6
7 my ($self, $line) = @_;
8 my @list = split /\s+/, $line;                # generate a list of callsigns
9
10 my $l;
11 my @out;
12
13 print "line: $line\n";
14 foreach $l (@list) {
15   my @ans = Prefix::extract($l);
16   print "ans:", @ans, "\n";
17   next if !@ans;
18   my $pre = shift @ans;
19   my $a;
20   my $expr;
21   my $str = "Prefix: $pre";
22   my $l = length $str;
23   foreach $a (@ans) {
24     $expr .= " || " if $expr;
25         my $n = $a->dxcc();
26     $expr .= "\$f5 == $n";
27         my $name = $a->name();
28         $str .= " Dxcc: $n ($name)";
29         push @out, $str;
30         $str = pack "A$l", " ";
31   }
32   push @out, $str;
33   print "expr: $expr\n";
34   my @res = Spot::search($expr);
35   my $ref;
36   my @dx;
37   foreach $ref (@res) {
38     @dx = @$ref;
39         my $t = ztime($dx[2]);
40         my $d = cldate($dx[2]);
41         push @out, sprintf "%9s %-12s %s %s %-28s <%s>", $dx[0], $dx[1], $d, $t, $dx[3], $dx[4];
42   }
43 }
44
45 return (1, @out);