]> dxcluster.net Git - spider.git/blob - cmd/show/425.pl
force all channels to default width 80 columns
[spider.git] / cmd / show / 425.pl
1 #
2 # Query the 425 Database server for a callsign
3 #
4 # from an idea by Leo,IZ5FSA and 425DxNews Group
5 #
6 #
7 #
8
9 sub handle
10 {
11         my ($self, $line) = @_;
12         my @list = map {uc} split /\s+/, $line; # generate a list of callsigns
13         my $op;
14         my $call = $self->call;
15         my @out;
16
17         return (1, $self->msg('e24')) unless $Internet::allow;
18         return (1, "SHOW/425 <callsign>\nSHOW/425 CAL\nSHOW/425 BULL <bulletin number>\n e.g. SH/425 IQ5BL, SH/425 CAL, SH/425 BUL 779\n") unless @list;
19
20         my $target = $Internet::dx425_url || 'www.425dxn.org';
21         my $port = 80;
22
23         dbg('sh/425: args=' . join('|', @list)) if isdbg('425');
24         if ($list[0] eq "CAL") {
25                 $op="op=cal";
26         } elsif ($list[0] eq "BULL") {
27                 $op="op=bull&query=$list[1]";
28         } else {
29                 $op="op=search&query=$list[0]";
30         }
31         
32         my $path = "/spider.php?$op";
33
34         dbg("sh/425: target='$target' path='$path'") if isdbg('425'); 
35         
36         Log('call', "$call: show/425 \U$op");
37         my $conn = AsyncMsg->get($self, $target, $path, prefix=>'425> ', 'User-Agent' => qq{DxSpider;$main::version;$main::build;$^O;$main::mycall;$call;$list[0]});
38         
39         if ($conn) {
40                 push @out, $self->msg('m21', "show/425");
41         } else {
42         push @out, $self->msg('e18', 'Open(ARI.org)');
43         }
44
45         return (1, @out);
46 }
47