X-Git-Url: http://dxcluster.net/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl%2FDXCommandmode.pm;h=f9d9c9f08b53f8b4c458f572457d7f59ed6a06c4;hb=353dac9d2485b5e3ad0a93246a1ac550d93d05a4;hp=42b2efbb8ca93ea2234a32618a3afefd2d8e4343;hpb=1006337e105ab06a0e468bc483332fd385dd5240;p=spider.git diff --git a/perl/DXCommandmode.pm b/perl/DXCommandmode.pm index 42b2efbb..f9d9c9f0 100644 --- a/perl/DXCommandmode.pm +++ b/perl/DXCommandmode.pm @@ -31,7 +31,7 @@ use WCY; use Sun; use Internet; use Script; - +use Net::Telnet; use strict; use vars qw(%Cache %cmd_cache $errstr %aliases $scriptbase $maxerrors %nothereslug $maxbadcount); @@ -470,7 +470,7 @@ sub run_cmd return (); } } - return map {s/[^\s]\s+$//; $_} @ans; + return map {s/([^\s])\s+$/$1/; $_} @ans; } # @@ -814,11 +814,31 @@ sub dx_spot my $t = ztime($_[2]); + my $loc; + my $clth = $self->{consort} eq 'local' ? 29 : 30; + my $comment = substr $_[3], 0, $clth; + $comment .= ' ' x ($clth - length($comment)); my $ref = DXUser->get_current($_[4]); - my $loc = $ref->qra if $ref && $ref->qra && $self->{user}->wantgrid; - $loc = ' ' . substr($loc, 0, 4) if $loc; + if ($ref) { + $loc = $ref->qra || '' if $self->{user}->wantgrid; + $loc = ' ' . substr($loc, 0, 4) if $loc; + } $loc = "" unless $loc; - my $buf = sprintf "DX de %-7.7s%11.1f %-12.12s %-*s $t$loc", "$_[4]:", $_[0], $_[1], $self->{consort} eq 'local' ? 29 : 30, $_[3]; + + # USDB stuff + if ($USDB::present && $self->{user}->wantusstate) { + my ($city, $state) = USDB::get($_[4]); + if ($state) { + $loc = ' ' . $state; + } + ($city, $state) = USDB::get($_[1]); + if ($state) { + $comment = substr($comment, 0, $self->{consort} eq 'local' ? 26 : 27) . ' ' . $state; + } + } + + my $buf = sprintf "DX de %-7.7s%11.1f %-12.12s %-s $t$loc", "$_[4]:", $_[0], $_[1], $comment; + $buf .= "\a\a" if $self->{beep}; $buf =~ s/\%5E/^/g; $self->local_send('X', $buf);