From 89eaa6762e986e15ba3167ba3400a38cda1faf80 Mon Sep 17 00:00:00 2001 From: Dirk Koopman Date: Sun, 8 Sep 2013 16:17:17 +0100 Subject: [PATCH] AsyncMsgise sh/425 --- cmd/show/425.pl | 80 ++++++++++++++++++--------------------------- cmd/show/contest.pl | 3 +- cmd/show/wm7d.pl | 2 +- perl/Version.pm | 4 +-- 4 files changed, 35 insertions(+), 54 deletions(-) diff --git a/cmd/show/425.pl b/cmd/show/425.pl index 4328e3ac..86e66554 100644 --- a/cmd/show/425.pl +++ b/cmd/show/425.pl @@ -5,59 +5,41 @@ # # # -my ($self, $line) = @_; -my @list = map {uc} split /\s+/, $line; # generate a list of callsigns -my $op; -my $call = $self->call; -my @out; -return (1, $self->msg('e24')) unless $Internet::allow; -return (1, "SHOW/425 \nSHOW/425 CAL\nSHOW/425 BULL \n e.g. SH/425 IQ5BL, SH/425 CAL, SH/425 BUL 779\n") unless @list; +sub handle +{ + my ($self, $line) = @_; + my @list = map {uc} split /\s+/, $line; # generate a list of callsigns + my $op; + my $call = $self->call; + my @out; -my $target = "www.ariscandicci.it"; -my $port = 80; -my $url = "http://www.ariscandicci.it"; + return (1, $self->msg('e24')) unless $Internet::allow; + return (1, "SHOW/425 \nSHOW/425 CAL\nSHOW/425 BULL \n e.g. SH/425 IQ5BL, SH/425 CAL, SH/425 BUL 779\n") unless @list; -use Net::Telnet; -my $t = new Net::Telnet; -eval {$t->open( Host => $target, - Port => $port, - Timeout => 30); -}; + my $target = "www.ariscandicci.it"; + my $port = 80; -if (!$t || $@) { + dbg(join('|', @list)) if isdbg('425'); + if ($list[0] eq "CAL") { + $op="op=cal"; + } elsif ($list[0] eq "BULL") { + $op="op=bull&query=$list[1]"; + } else { + $op="op=search&query=$list[0]"; + } + + my $path = "/425dxn/spider.php?$op"; + + Log('call', "$call: show/425 \U$op"); + my $conn = AsyncMsg->get($self, $target, $port, $path, prefix=>'425> ', 'User-Agent' => qq{DxSpider;$main::version;$main::build;$^O;$main::mycall;$call;$list[0]}); + + if ($conn) { + push @out, $self->msg('m21', "show/425"); + } else { push @out, $self->msg('e18', 'Open(ARI.org)'); -} else { - dbg($list[0]."|".$list[1]) if isdbg('425'); - if ($list[0] eq "CAL") { - $op="op=cal"; - } - elsif ($list[0] eq "BULL") { - $op="op=bull&query=".$list[1]; - } - else { - $op="op=search&query=".$list[0]; - } - my $s = "GET /425dxn/spider.php?$op HTTP/1.1\n" - ."User-Agent:DxSpider;$main::version;$main::build;$^O;$main::mycall;$call;$list[0]\nHost: $target\n\n"; - dbg($s) if isdbg('425'); - $t->print($s); - Log('call', "$call: show/425 \U$op"); - my $state = "blank"; - my $count = 1; - my @timeout = qw(Timeout 30); - while (my $result = eval { $t->getline(@timeout) } || $@) { - dbg($result) if isdbg('425') && $result; - dbg($@) if isdbg('425') && $@; - ++$count; - if ($count > 9) { - last if $@; - push @out, $result; - } - @timeout = qw(Timeout 2); - } - $t->close; - push @out, $self->msg('e3', 'Search(ARI.org)', uc $op) unless @out; + } + + return (1, @out); } -return (1, @out); diff --git a/cmd/show/contest.pl b/cmd/show/contest.pl index a43e0ea7..524f6b86 100644 --- a/cmd/show/contest.pl +++ b/cmd/show/contest.pl @@ -2,9 +2,8 @@ # used with 1 argument: sh/contest # e g sh/contest 2002sep # Tommy Johansson (SM3OSM) 2002-07-23 -# New version using Net::Telnet 2003-03-09 -# # +# New version use AsyncMsg (c) Dirk Koopman G1TLH # sub handle diff --git a/cmd/show/wm7d.pl b/cmd/show/wm7d.pl index 068097ca..e77bed26 100644 --- a/cmd/show/wm7d.pl +++ b/cmd/show/wm7d.pl @@ -1,7 +1,7 @@ # # Query the WM7D Database server for a callsign # -# Was Largely based on "sh/qrz" and info in the Net::Telnet documentation +# Was Largely based on "sh/qrz" # # Original Copyright (c) 2002 Charlie Carroll K1XX # diff --git a/perl/Version.pm b/perl/Version.pm index 4178804a..acd6cd8d 100644 --- a/perl/Version.pm +++ b/perl/Version.pm @@ -11,7 +11,7 @@ use vars qw($version $subversion $build $gitversion); $version = '1.55'; $subversion = '0'; -$build = '129'; -$gitversion = '9fc2ec1'; +$build = '130'; +$gitversion = 'cc83de0'; 1; -- 2.34.1